The Magazine For ALL Commodore Computer Users
Hagasina
^©OTTO i^^£3?i^^^
mimEwws^
i|6nojoqje3S
assets ssei?
suiaisiai) pjttiii
3xiukxiu3 ^\hQ
3^n UOtf l>*^ i»6#rtcy
M)«Od ctwut^
"56698"721A5'
H'
BETTERWORKING
from SPINNAKER
SPREADSHEET
SPREADSHEET is the ideal program for
planning budgets and preparing financial
statements, as well as creating text and
organizing information.
It is fast, versatile and powerful enougti to
fiandle all your spreadsfieet needs.
}
And it's easy enougfi to understand and use nghit away.
SPREADSHEET combines a full-feature spreadsfieet witfi basic
\vord-processing and tfie sorting and searcfiing capabilities of a
database.
95
$59
NEW FROM ^MTK]
SUMMERGAMESn
• Includes Cycling. Foncing, Kayakiinfl,
Trtple Jump,aowinB, High Jump,
Javelin and Equeilr^sn Evonis
• Oponing, Closing end AwBfds
CeremonvWIIh Nalional Anifiems
• Comooie AgainstThe Conipulor
Of Your Friends
• Individual and H&ad-To-Heai!
Com petit ion
• One 10 Eigh: Plirysrs
$39.95
JBT OOMIBAT
• Features Realistic Flight and
Combal Simulation
• IncludesTake-Offs. Landings, and
Aerial Dogtights
■ Choose Between Practice ar
Combat fi^odes
• Select trom Four Levels of
Ditticultv
■ One Player; Joystick Optiofial
$39.95
Butterfield's
Machine
Language
M^..,,-.. .: •.>, . J.l.
The complete guide
to the 1541
operating system.
$25.95
Paperclip
(the word processor)
$79.95
$39.95
with SpellPack
S99.95
Ck)nsultant
(the database)
$124.95
The ultimate
progrann for
learning cfiess
$69.95
Boss
Joystick
Kraft
Joystick
A must book if
you own a VICI
$14.95
$23.95
;
$17.95
COMPUTEIs
First Book of
Commodore 64
Games
Packed lull of games:
'Snake Escape'. Oil
Tycoon'. 'Laser Gunner ,
Zuider Zee', and many
more Machine language
as well as siraiegy
games. Ideas and lech-
niques lor wnimg games.
$18.95
CorwTKKtefe
Grand
Master
Chess
^?
A User's Guide
$14.95
$24.95
Menriorex
Disks^
(Special)
SSDD
$19.90/10
\zm^
DISKS
SSDD
$24.90
in hard box
Cassettes
CIO Tapes
$1.00 ea.
C20 Tapes
$1.25 ea.
C^sette
b>oxes .25 ea.
Ribbons
1525
1526
4023
Spirit 80
801
802
8023
4022
MX80
RX80
$12.95
$14.95
$14.95
$14.95
$12.95
$14.95
$14.95
$12.95
9.95
9.95
CABLES
for disk drive
or printer
6ft. replacement
cable $14.95
6ft. extension
cable $14,95
Adventure
Construction
Set
$69.95
a^cnoriK^ sooi ltd.
Name _
Address
C Check or rt\oney order enclosed r J Visa Dk/lasterCharge □ American
Express
Accl.# Exp. Dale Signature
a^CROHK^ 2001 LTD.
5529 Yonge Street, Willowdale, Ontario M2N 5S3
Tel: (416) 223-8400
Note: All prices in Canadian Funds. Phone and mail orders welcome.
Ontario residents add 7% sales tax.
Add 5% (or shipping (minimum charge S2. 00)
TFUS [TIsBasiia
Publisher Louise Recfgers
Editor: Nick Sullivan
Assistant Editor Marya Miller
Director oi Ad'/ertising Sales: Louise Redgers
Production Assistant: Astrjd Kumas
Aft Director: Teresa CovielSo
Computer Jockey: Malcolm O'Brien
Caver Photo: Roberto Portolese Studto
Typesetting: Noests, Toronto, Ontario
Printing: Delta Wsb Graphics,
Scarborough, Ontario
TPUG Magazine is pubitsfied tO times a year by
Toronto Pet Users' Gfoup (TPUG) Inc. the world's
largest Commodore users' group. TPUG is a non-pro'il
corporation dedicated to the service and support ol
owners and users of Commodore computers All rights
to material published in TPUG Magazine are reserved
by TPUG Inc., and no material may be reprinted without
written permission except where specifically stated.
Correspondence: Send change ol address and
subscription enquiries to: TPUG Inc. Address
Changes, 1912A Avenue Road, Suite 1, Toronto ON.
Canada M5M 4A1 TPUG Magazine welcomes free-
lance contributions on all aspects ot Commodore com-
puting. Contributions should be sent on disk, -hough
accompanying hardcopy is welcome. Be sure to
nclude return postage if you wish materials returned.
Please indicate on the disk label which Commodore
disk format and word processing program you have
used. Remuneration far articles published is 530.00 per
magazine page if the author retains the copyright and
S40.00 per magazine page if the copyright is assigned
to TPUG Magazine. All contributions are subject to
editing tor length and readability Address editorial
contributions lo: The Editor, TPUG Magazine, 1912A
Avenue Road. Suite 5. Toronto ON, Canada M5IW 4A1 .
Letters to the editor may be sent to tfie same address.
Like other rtraterial, letters may be edited lor length and
readability.
Qrculat\on:
Subscription 16,000 Ne'/isstand 10,000
ISBN #0825-0357
TPUG Magazine is distributed by: Compulit Distributors,
PO Box 352, Port Coquitlam BC. Canada V3C 4K6.
(604)-464-1221 . and Micron Distributing, 409 Queen
Street W.. Toronto ON, Canada WI5V 2A5,
(416}-593-9862, Toil Free Order Desk 1-800-268-1238
VIC 20, Commodore 64 and SuperPET are trademarks
of Commodore Electronics Ltd- PET is a registered
trademark ol Commodore Business Machines, Inc
CBM is a registered trademark of Commodore
Electronics ltd.
Subscriptions to TPUG Magazine may be oblamed by
joining the Toronto Pet Users' Group (TPUG), Inc.
Another benefit of TPUG membership is the right to
order inexpensive disks and tapes from the club's
extensive software library. Yearly membership tees are:
Regular member (attends meetings)
Student (tull-time, attends meetings)
Associate (Canada)
Associate (US.)
Associate (Overseas -
Associate (Overseas -
■ sea maill
■ air mail)
S35.0O Cdn
S25 00Cdn.
525,00 Cdn.
S25.0D US,
$30-00 Cdn-
S35-00 US
S45,00 US.
For further membership iniormation please contact:
TPUG Inc , Membership Inlormalton
1912A Avenue Road 1552 Hertel Ave.
Suite 1 Suite 144
Toronto ON Buffalo. NY
Canada M5M 4A1 USA 14216-2882
TPUG Telephone Numbers
Business Office {416)-782-890a (416)-782-9252
Magazine Office <416)-782-1861
Advertising (416)-782-i861
DIRECTORY
85
TPUG Magazine
JUN
Feature: Adventure Gomes
8 Do-lt-Yourself Adventures by Steven Damold
13 Adventure' And Other Adventures by Jim Buitertield
14 Adventure Games: A Personal Journey by Peter Archer
15 Adventure Games: Text versus Grophics by Peter Archer
Articles
2 Changes, Changes, Changes by Michael Bonnycastie
2 Message From The Publisher by Louise Redgers
16 Inside Inner Space' by Jim Butterfield
1 7 The Ultimate Shuffle by Gordon Campbell
18 The C-128: A Programmer's Ployground by Nick Sullivan
19 BASIC 7.0 Keywords by Chris Bennett
22 The Creation of 'Sky Travel' by Franit Covitz
26 A Beginner's DBS Guide: Part Three by ian A. Wright
28 Not Just A Pretty Picture by Dave Neale
Micro Processes
30 Keyboard Out, Joystick In by Michael Quigley
31 The Better Way by Chris Johnson
32 Talking to Other VICs by Mark Hopkins
Reviews
36 Flexidrow 4.0 and Flexifont by Dave Neate
36 Edumate Light Pen with 'Peripheral Vision' by Mike Martin
37 Write Now! by Michael Quigley
38 HomePak by John Easton
39 Wiztype by Marya Miller
39 Sky Travel by Nick Sullivan
40 The COMAL Handbook by Donald Daiiey
40 Traitex 64 by Gerry Gold
41 Adventure Construction Set by Marya Miller
41 Adventure Writer by Marya Miller
42 Zork and Enchanter by Michael Bonnycastie
Deportments
4 Line Noise with Lana Coviello
6 The Answer Desk with Malcolm O'Brien
27 New DBS Possword
32 C-16 and Plus/4 Library Announcement
34 Additions to the TPUG Software Library
34 Morketploce
35 TPUG Software Order Form
43 Products Received with Astrid Kumas
44 TPUG Associate Clubs
45 Classifieds
46 TPUG Mogazine Distributors
48 TPUG Contacts
48 Index of Advertisers
Changes, Changes, Changes
Dear TPUG members:
In this world of ours, nothing is static. Nothing remains the same for long enough to focus on it, let alone take the
picture or get it developed. Especially in the world of microcomputers, where today's success is tomorrow's ho-hum.
For those of you who enjoy the ever-changing scenery and look forward to tomorrow's sky-line, you're in the right
business. As someone said about Toronto's weather — if you don't like it — just wait!
And so it is with TPUG. The faces change as we try to keep on top of the ever-changing world. It is with great
regret that we say farewell to Chris Bennett, who is a founding director and who managed the club through its meteoric
growth to 15,000 members, and to Doris Bradley, who helped with this process and whom so many of you know on
the other end of the telephone. Both have departed TPUG, and we wish them both well in their future ventures (Chris
remains on the Board of Directors and is looking forward to the beginning of the PC 10 Interest Group in the fall).
We, the directors of TPUG, owe a great deal of gratitude to both these people, who put so much into the club during
its formative years. They were hectic times, and both Chris and Doris were instrumental in holding on as the scope
of the club expanded to include TPUG Magaziyie as you know it, our library of over 5,000 programs, the many monthly
meetings, and the conference. ■ • ■
Thank you, Chris. Thank you, Doris. . ' .
\- • ' • "
Michael Bonnycastle
TPUG President
Message From The Publisher
Summer is here. I hope that yours is relaxing and lazy, and filled with all of the things that you like to do best.
This year we will not be publishing separate July and August issues. The current issue is June/July; the next
one will be August/September. This will allow our exhausted magazine staff to visit their families and also enjoy
a bit of the summer. I wish to thank them and also our front office staff for their dedication and hard work
over the last few months, as we have been making the changes that provide you with this new and improved
magazine. We are still under construction, with more good things to come.
We apologize for the very late May issue. From the start we were plagued by problems with that issue —
Mui-phy's Law has never been more convincingly proved than by us during the month of April. We will endeavour
to prevent this happening again. Thank you for your patience.
This month's spectacular 'adventure' cover was painted by our art director, Teresa Coviello. We like it so
much that we have had it printed up in full-size poster format as well, on good quality art paper. Watch for
an announcement in the August/September issue on how you can order copies by mail.
As usual, there wilt be no meetings during July and August, with the exception of the SuperPET chapter.
SuperPET meetings will probably be held as usual, n\\ the third Wednesday of each month. Gall the TPUG meetings
line for up-to-date information.
Finally, TPUG would like to hear from those of you who have placed orders Avith B & R Enterprises of Pefferlaw,
Ontario, and have not received satisfaction. Please write to mc at TPUG. If you were planning on placing an
order, please hold off at this time. There have been several complaints and we are trying to find out why. We
will keep you posted.
Once again, enjoy your summer. We will see you in September with all the new machines (Commodore Canada
promises two more after the C-128 and PC 10 before the end of the year), new groups and new interests.
Louise Redgers
Publisher
2 TPUG Magazine
You're invited to the
biggest party at
Valley Forge since
George brouglit
the boys!
M.A.R.C.A.
The biggest Commodore User Fair in the US.
July 26, 27, 28
Valley Forge Convention Center, Valley Forge PA
• Speakers! • Seminars! • Hanging out!
• Fun! • Vendors! • Great Buys!
• Social Events! • Fun!
Areas Tours available.
Meet the names you've only read about. Jim Butterfield.
Dick Immers. Len LIndsey. Many, many more! Ask the ques-
tions you need answers to. Have 2V2 days of non-stop
Commodore fun! Bring the whole family. Lots to do. See.
And buy. Bargains galore!
Pre-registration by July 1: 2V2 days $25 M.A.R.C.A. Mem-
bers $15 Family Rates available.
For pre-registration information: M.A.R.C.A., P.O. Box
1902, Martlnsburg, West VA 25401.
DON'T MISS THE PARTY!
TPUG Magazine invites you to ex-
press your views on Commodore
computing by ivriiing to:
Lbie Noise
TPUG Magazine
1912 A Avenue Road, Suite S
To7'onio. Ontario M5M J^Al
Canada
Software Theft
Really enjoyed Jim Butterfield's 'Soft-
ware Theft' piece (November "84). Here
is another situation that probably is more
prevalent than most people realize.
My son moved to California and became
employed by a software marketing firm.
I had written a program to handle my
checkbook up to a limit of 99 asset, liabili-
ty, income and expense accounts. It was
simple, fairly fast, and it worked (usual-
ly). He suggested that their company
market this program.
A royalty agreement was drawn up and
signed whereby they did the marketing,
using my name as author. I was to receive
20 per cent of the gross sales of the
package. There were numerous other p's
and q's but basically, I wrote it and they
sold it.
The package moved fairly well, and I
hinted that some money might be
welcome. I did get one check for
$2279.23, which bounced (three times).
To date, this has been the extent of my
payment by them. It is hard to determine
how many of the packages were sold, but
I do have a letter indicating they owed
me $11,734.87.
W.E. (Dinty) More
Le Seur, Minnesota
Butterfield Book A Gem
As a somewhat isolated, relatively aged,
neophyte to computers, my primary
means of learning is through the printed
word. I have, therefore, read many books
and m agazines i n the year and a half since
I contracted computermania. While I
have obtained some proficiency in
BASIC, machine language and hardware
were areas of total illiteracy. I would not
presume to write a review of a computer
book. My knowledge is too limited. But
Jim Butterfield's book on machine
language is a gem. It is written clearly
and concisely, with humour and under-
standing of the likely pitfalls of the
reader. It explains difficult concepts in
plain English without use of jargon.
Perhaps most important, it guides the
beginner through simple short programs
which, with the exercises, give the reader
hands-on experience and confidence. His
book is very well written — considerably
less wordy than this letter. It is a pleasure
to read and painless to learn from.
While on the subject of books, I do ac-
quire and read many on computers. You
may recall receiving a letter from me con-
cerning my experiences with dilithium
Press. I have since received a hand-
wTitten note to the effect that they are
in bankruptcy proceedings. From my
side, this seems to match my experience
with them.
Thank you, and keep up the good work.
E.M. Hartston
West Galilee, Israel
BASIC Blitzled
During further use of the Blitz! Com-
piler, which I reviewed in the March
issue, I found that it only compiles BASIC
programs into the standard 38K BASIC
area of the C-64, starting at decimal 2048.
BASIC cannot be moved when using a
Blitzled program, although the upper
end of BASIC can be lowered in the nor-
mal way to allow ML programs to be put
just below the BASIC ROM.
Nathan Okun
Oxnard, California
Evaluating Evaluation Kits
Has anyone else out there tried submit-
ting programs to Commodore for publica-
tion? It seems that Commodore won't
look at a piece of software until you do
what is required of you from Com-
modore's Software Evaluation Kit. This
kit was new to me, so I sent it for a legal
'check-up'. It failed. It had bugs that
would lose me my program to Com-
modore if I did what it asked, which is the
following:
• Read the kit, front to back.
• Fill out the questionnaire.
• Send a copy of the program to Com-
modore on disk with literature, any
copyrighted documents, and a money
order for fifty dollars.
• Allow thirty to ninety days for evalua-
tion. After ninety days, Commodore
notifies you as to whether or not they con-
sider your product marketable.
Now, I did not exactly cherish the
thought of sending the fifty dollars and
my program to Commodore. It just didn't
seem right.
My advice to all programmmers is to
stay away from 'Evaluation Kits' from
any company and agree to a 'hands-on'
demonstration, at their convenience.
Alex Howell
Toronto, Ontario
Commodore is apparently getting out of
the software business altogether, so legal
questions concerning their evaluation kit
have become academic. However, pro-
grammers should in general make sure
that they have clear proof of authorship
of any product they submit to software
pxMishers.
Fast Load Lament
Tired of my slow 1541 drive, I bought the
Epyx Fast Load cartridge. I use my C-64
mainly for word processing, with
PaperClip. With Fast Load, on
numerous occasions, the drive or com-
puter have locked up, resulting in lost
files. On two occasions, I lost an entire
disk when the directory was damaged.
Usually, I can reset everything by turn-
ing off the drive, but I have sometimes
had to turn off the C-64 as well, losing
the current file. Fast Load is virtually
useless to me. Am I the only one with
these problems? Has anyone contacted
the manufacturer for 'fixes', or does
anyone have suggestions for a 'do-it-
yourself fix?
Achim K. KruU
Agincourt, Ontario
The first release of Fast Load apparently
did have bugs that can cause the probkyns
you describe. I have heard that Epyx will
replace the defective ones if you contact
them. The new versvms of Fast Load that
are on the market are said to work very
well and should give you no trouble.
Line Noise presented
by Lana Coviello
4 TPUG Magazine
^ comnnodore ^
^ SFD— 1001
ONE MEGABYTE DISK DRIVE
*»^i
(J
■+±33 BLOCKS FREE
J
The SFD-1001 (Super Fast Drive) is now available. With double-sided double-density format, over
ONE MEGABYTE can be stored on a single floppy disk. ONE HUNDRED 1S4T -formatted disks can be
reduced to only SIXTEEN SFD-lOOI-formatted disks. By using the intelligent IEEE bus and a bus expansion
IEEE interface, the SFD-1001 loads programs and data over TWICE as fast as the 1541 drive, and ALL THIS
inside a case the size of the 1541's!
FULLY COMPATIBLE with any Comnnodore computer that has an IEEE interface. FREE utility disks for both the
CBM 8032 and the Commodore 64 are included! Transfer all your files and programs easily from any Commodore
disk drive to your SFD-1001!
EXPAND your system now with this fast, high-quality, large capacity Commodore disk drive.
The SFD-1001 is available NOW from Progressive Peripherals & Software, Inc., your quality
Connmodore software and hardware source. Suggested retail price is only $399".
Dealer inquiries are invited. ..call for more information or for the name of the dealer nearest you.
LOAD TIMB
TKe 1541 loads 32K byies of data in approximately 1 minute, 20 seconds.
The SFD-1001 loads 32K bytes of data in only about 35 seconds (bus expansion interface) or rfr'--"-.
■^ .,,approj(ira!ateW1.mioute,4s« ,_ . ... :. ^^^^^i. :^^Sii^J
. .S->^.- - i-i^gr-j'ty .
k 'i i^£i.i.,l^>i .V^^it'i:'
PROGRESSIVE PERIPHERALS & SOFTWARE
■ 2186 South Holly Suite 200 -^
3 Denver, Colorado 80222 ^^^^-'
(303) 759-5713 Telex:888837 TWX: 91 09971 31 4
Commodore 64. 1541. B032. and SFD-1001 jre registered trademarks of Commodore Business Machines. Inc.
The Answer Desk
with Malcolm O'Brien
Hard Disk Update
Shortly after the last Answer Desk had
begun its long journey to your hands, I
discovered that no less than three com-
panies are now offering hard disks for
Commodore products. Strangely, only
one — Computer Specialties, Inc. — has
sent promotional material to the TPUG
office complex, so I can only give you
details of their product, the CSI STIOC.
Available for all Commodore products
except the VIC 20, the CSI STIOC
features 10 megabytes with serial and
IEEE interfaces, external reformat pro-
tection switch, external device number
select switch (8 or 9), unlimited directory
space, and backup software. All of this
can be yours (with a 90-day warranty) for
$1595 (US). For more information
contact:
Computer Specialties, Inc.
P.O. Box 1728
Melbourne. FL 32902
Telephone (305)-725-6574
Another hard disk, also 10 megabytes, is
available from:
Fiscal Information, Inc.
P.O. Box 10270 ■ ^ . .
Daytona Beach, FL 32020
Rounding out the list is the Genesis drive
from:
Micro Mind
104 Hawthorne Ave.
Pittsfield, MA 01201
This one is a 25-megabyte, half-height
Winchester drive, to retail for $1200
(US). Micro Mind also has plans to pro-
duce a hard drive to be installed in the
small storage box in the SX-64. Watch for
further details in upcoming issues of
TPUG Magazine.
How to use Fastbackup
Instead of answering your letters, this
month I'm going to answer your phone
calls. Most days, TPUG receives
telephone calls from C-64 users who
either want to know how to use Fast-
backup, or who simply state that it
doesn't work. The fact is that it does
work — and very well too! If you've been
having trouble with the program, read on.
First of all, disconnect your printer.
Don't just turn it off — disconnect it.
Evidently, Fastbackup must have the
serial bus all to itself. Now bad Fast-
backup from TPUG disk (C)TA, then
take the disk out of the drive before run-
ning it. Put the disk that you want to copy
(called the 'source' disk) into the drive,
and run Fastbackup.
In the upper left corner of the screen
you will see a quick countdown. When it
finishes, the title screen will come up. On
the last line of the display you will see the
prompt Source disk, and you will hear a
beeping sound (make sure the volume is
turned up on your TV or monitor). Since
your source disk is already in the drive,
hit RETURN. Now the magic begins. The
screen vanishes and the drive begins to
behave in a very strange fashion — but
normal for this program, and nothing to
be concerned about. The error light will
flash, but there is no error. Sometimes
the drive keeps turning even after the
light goes out. Ignore the drive's
behaviour.
In a few moments the screen will
return, along with the beeping sound. The
last screen line will show the message
Destination disk. This is the disk that you
are copying to. You may use an unformat-
ted disk, if you want — fresh out of the
box; Fastbackup formats the destination
disk for you. If you use an old disk, of
course, all the data will be overwritten.
At this point — with Destination disk
on the bottom line — carefully remove the
source disk and insert the destination
disk. Again, don't worry if the drive is
still turning! "V^Tien the destination disk
is in place, hit RETURN. The audio and
video will again disappear. Follow the
program instructions as above until the
copy is complete (you should have to in-
sert both disks a total of three times
each). Now the bottom line on the screen
will read Copy complete. You'll have to
power down the computer to regain
control.
There are three common reasons why
you would use Fastbackup to copy disks.
The first is to make an archival backup
of commercial software. This will work
with Paperclip or The Consultant, for
example, because these disks are not pro-
tected. Instead, they rely on an external
dongle or key for the program to operate.
Most commercial programs do use disk
protection, however. In these instances,
'errors' on the disk will cause the copy to
fail. The second reason for backing up is
to have a spare copy of your data ~
Paperclip files, spreadsheets, mailing
lists, accounting information and so on.
The third reason is probably the most im-
portant one for me, and will be of par-
ticular interest to students and teachers.
Many schools have PETs, SuperPETs,
4032s and 8032s. Most of these are
equipped with the CBM 4040 Dual Disk
Drives. You should not use a 1541 to
write to a disk formatted on one of these
drives! The 1541 is read-compatible with
them, but not write-compatible. If you do,
your files will slowly disappear! If you
have been working on a disk at school and
intend to finish writing your program (or
entering your data) at home on your
1541, use Fastbackup to copy the 4040
disk to 1541 format. When you've finish-
ed updating your files, and take the disk
back to school, copy the 1541 disk back
onto the 4040 disk with the BASIC 4.0
BACKUP command.
Finally, I should remind you that
Fastbackup was written by Thomas
Tempelman as a commercial ventwe and
TPUG is accepting contributions for use
of the program on Mr. Tempelman's
behalf. Over $1,000 has already been
sent. Response has been encouraging,
and Mr. Tempelman has kindly allowed
TPUG to distribute his second version of
Fastbackup.
The new version is called fcopy v2.5.c
and it's on TPUG disk (C)TG. This ver-
sion is even faster (!), and includes a
message from Mr. Tempelman along with
his address in Germany, It is slightly dif-
ferent in that the destination disk must
be formatted beforehand. Also, the speed-
up is due to the fact that only the used
portion of the source disk is copied. You
are even presented with a graphic display
of the used portions of the disk. If you are
using either of these programs, please
send a contribution if you haven't
already. It would be a terrible waste of
a good programmer if his financial situa-
tion forced him to take a job as a shoe
salesman! O
6 TPUG Magazine
PET/CBM MULTI USER DISK SYSTEM
• ALLOWS UP TO SIXTEEN USERS TO SHARE DISK DRIVES
AND/OR PRINTERS
• WORKS WITH ALL PET/CBM EQUIPMENT
• lOO'.'j HARDWARE INTERFACED
• NO ALTERATIONS TO SOFTWARE OR SPECIAL SOFTWARE RE-
QUIRED
■ SOFTWARE TRANSPARENT — WORKS WITH ALL PET/CBM
SOFTWARE
• LANGUAGE TRANSPARENT — WORKS IN ANY LANGUAGE
• NO SPECIAL COMMANDS USED
• PROTECTS AGAINST SYSTEM LOCKUP
COMMODORE 64 MULT! USER DISK SYSTEM
• ALLOWS UP TO EIGHT USERS TO SHARE DISK DRIVES
AND/OR PRINTERS
• WORKS WITH ALL 61/VIC EOUIPMENT
• BUILT IN IEEE AND 64/VIC SERIAL PORTS
(WORKS WITH ALL IEEE DEVICES)
• 1O0'a HARDWARE INTERFACED
• NO ALTERATIONS TO SOFTWARE OR SPECIAL
SOFTWARE REQUIRED - SOFTWARE TRANSPARENT
• NO SPECIAL COMMANDS USED
• BUILT IN 16K PRINT BUFFER
• DISK DRIVE PRIORITY
GREATER PRODUCTIVITY & LOWER COST
FOR BUSINESS AND EDUCATIONAL USE
4032
8032
40 TO 80 COLUMN CONVERSION
• EXTERNALLY SWITCHABLE FROM 40 TO 80 COLUMNS
• EXTERNALLY SWITCHABLE FROM 80 TO 40 COLUMNS
• CONVERSIONS FOR BOTH 4032s AND 8032s
• lOO-c SOFTWARE COMPATIBILITY IN EITHER MODE
• HARDWARE (NOT SOFTWAREl MODIFICATION
• ALL KEYS FROM 8032 EMULATED ON 4032
■ SPECIAL FUNCTION KEYS
MICROSHARE 64K PRINT BUFFER
• LOW COST
• REDUCES LONG WAITS - SAVES TIME
• ALLOWS YOU TO PRINT AND PROCESS SIMULTANEOUSLY
• IEEE INPUT - IEEE OR CENTRONICS PARALLEL OUTPUT
• WORKS WITH ALL PET/CBM SOFTWARE
• NO INSTALLATION REQUIRED
• ELIMINATES THE FRUSTRATION OF WATINQ FOR YOUR
PRINTER
COWM0DOHE64 PET AND CBM AHE ALL TRADEMARKS OF COMMODORE BUS^NESS MACHINES INC
DEALER ENQUIRIES
INVITED
MANUFACTURED BY:
COMSPEC COMMUNICATIONS INC.
153 BRIDGELAND AVE., UNITS,
TORONTO, ONTARIO M6A 2Y6
(416)787-0617
Do-It-Yourself Adventures
by Steven Darnold
Steven Dwt-nold has written a number of classic adventure games
for the TPUG librai'y. Some of his games, i7ichiding African
Adventure, Castlemaze and Tunnelmaze are now heiiig
rereleased along with other adventures on TPUG disk (QGGfor
Commodore 61,. Also included will be Darnold' s newest, largest
and most complex work. Valleymaze.
Once you have started playing adventure games, you'll probably
get some ideas for an adventure of your own. Unlike arcade
games, adventure games do not require machine language. If
you have a good understanding of BASIC, you should be able
to develop these ideas and turn them into an effective adven-
ture program. This article will show you how.
Draw a map
The first step in designing an adventure is to draw a map of
all the locations, and the connections between them. Number
the locations, starting with 1, and think of a brief description
for each. You \rill be able to amend this information later, so
don't worry if you're not sure how the final map will look. Just
make a start, and everything will eventually fall into place.
Once your map is ready, you can enter it into the computer.
It may seem a little strange, entering information before the
adventure is completely designed, but I find it much simpler this
way. Adventure programs tend to be very long, and it is easy
to be daunted by the size of the task. If you do things step by
step, the program will be nearly finished before you fully realize
how big and complicated it really is.
Data — the rooms
3000
9010
3020
3030
9040
9050
9060
9070
9080
9090
9100
9110
91E0
r9=6
dim r$<r9) ,r%';r9,3)
■for i = l to r'3
read r*(i)
•for .) =0 "to 3
read r'/.>, i ri >
r\ex±
on -the y 1 11 age
next;
data
£
data
S
data
data
data
data
in
in
in
in
in
green ,3 ,Q ,4 ,
a one-roorri school, Q,©,!/
a rustic chur-ch,0,l,0/-0
the banK,0,0,0,l
the sa-fe ,4,0,0,0
a dusty storeroom, ,0,£ ,
The first line specifies how many rooms (locations) there are.
In this simple example, I have six. In your adventure, set R9
to the total number of locations on your map. The descriptions
begin at line 9070. Following each description are four numbers
that show the connections between the rooms. The first number
shows the connection north; the second, south; the third, east;
and the last, west. For example, if you are in room 5 (the safe),
the connection north goes to room 4. A zero indicates that there
is no connection in that direction. Thus, the only exit from room
6 is to the east (it goes to the school).
Lines 9010-9060 set up two arrays: one for the room descrip-
tions and one for the connections. You can use these lines ex-
actly as they appear here.
Some adventure routines permit more than four exits from
a room by also recognizing 'up' and 'down', and sometimes even
northeast, southeast, southwest and northwest. I find it simpler
to limit the movement array to the four main directions. If re-
quired, 'up' and 'down' can be added to the verb list and dealt
with directly; or verbs like 'jump' and 'climb' can be used.
Once your map is entered, feel free to add to it or alter it at
any time. It is usually best to leave the order of rooms the same,
but a connection between two rooms can normally be changed
without too much difficulty: just alter the numbers for both
rooms to reflect the change.
Adding rooms is even easier. Increment the value of R9 in
line 9000, and add the new room to the bottom of the list; then
alter the data of any of the existing rooms you want connected
to the new room.
Now that you have tjfped in the details of the rooms, it's time
to enter the objects you intend to use in the adventure. These
include treasures, tools and assorted bits of scenerj'. Number
the objects, starting with 1.
Data — objects and scenery
9500
9510
9520
9530
9540
9550
3560
9570
9580
9590
9G00
9610
9620
9630
9640
9650
3660
9670
n9 = 13
dim o*<n3)
-for i = l to
read o*(i)
next
data
data
data
data
data
data
data
data
data
data
data
data
data
pie
hug
s ig
bra
bag
uioode
an al
a Ion
a sho
a box
gold
a 1 ar
a big
1 ,4,0,saf
,lX(n9) ,a"';<n9) ,n*';n9)
n9
,1 Z-; i ) ,aX< i ) ,n*< i )
ce o-f chalK ,2,2 ,cha
e oaK tree,i,0,tre
n ,6,2,sig
ss Key ,0,2, Key
o-f CO ins ,5, 3, CO i
n peus,3,l,peu
tar ,3, 1 , alt
g white cand 1 e ,3,2 ,can
wel ,6,2 ,sho
o-f matches ,0 ,2 ,mat
nuggets ,0 ,3,gol
'jc: yooden desK,£,l,des
sa-fe in the south ual
In the first line, set N9 to the total number of objects you wish
to have. In my sample adventure, I use thirteen objects, but you
will probably have around one hundred. Each object is followed
by two numbers. The first number specifies in which room the
object is located at the beginning of the adventure. A zero in-
dicates that the object is not in any room. The gold nuggets,
for example, need to be dug up before they appear.
The second number following each object is an attribute value,
used to distinguish between the different types of objects.
Treasures have a 3; other movable objects have a 2; immovable
objects have a 1; and scenery has a 0. The altar, for example,
has a 1 to indicate it is an immovable object, while the safe is
classed as scenery.
The last item in each data line is a three-letter name for the
8 TPUG Magazine
object. This is used to identify it, so be careful to give each ob-
ject a different name. Normally, you should use the first three
letters of the main noun in the object's description.
Don't worry about working out all your objects in advance.
It's easy to add new objects as you go along. Simply increment
N9 and add the details of the new object to the bottom of the
data in this section.
The next step in setting up the adventure is to list the verbs
you are going to recognize. Number them, starting with 1, and
set V9 equal to the total.
Verbs
9900
9910
9920
9930
9940
9950
9360
9970
u9=23
dim vSi:v9)
for i=l to
read y$( i )
y9 '■ '
next
data n ,nor ,£ rsou ,e ,ea£ ,u ,ue£ ' ■
data go , inv ,sco ,1 00 ,exa
data taK ,get ,p ic ,dro ,pLit
data rea ,ope ,d ig ,1 ig ,qu i
As with the object names, each verb is referred to by its first
three letters. In addition, the four directions also appear as single
letters. Thus, in my sample adventure, verb number 7 is W and
number 8 is WES. Both refer to west.
It is important to have a lot of redundancy in your verb list.
Extra verbs cost only a few bytes each, and they make your pro-
gram seem much more intelligent. IWany players become
frustrated trying to guess which words an adventure
understands. Make it easy for them: include redundant verbs.
(For example, in my sample I have included TAKE, GET and
PICK UP. Each of these three verbs is dealt with in precisely
the same way, but the redundancy means that players are more
able to express themselves in their own way.)
Completing the foundation
Now that we have typed in the rooms, objects and verbs, we
have nearly completed the foundation of the adventure. All that
remains is a little housekeeping: - -
9450 d im d*«:3) rf ,
9460 -for i=0 to 3;read dS(i);rjext '
9470 data north , south , east , west
This array is simply a convenient way of printing out direc-
tions. It will be used later in the main program loop.
9990 r=l
This sets the adventure to start in room 1 , Feel free to change
it to any room you like.
9939 return
This marks the end of the foundation section and returns to
the main flow of the program.
100 go sub 9000
The foundation section is entered by a GOSUB from the very
first hne of the program. If you wish to display a title page or
instructions, put them at lines 8000-8999 and change line 100
to GOSUB 8000.
Building on the foundation
We are now ready to build the main program loop. It will run
between lines 200 and 700, and will be followed by verb bran-
ches, starting at line 1000.
200 print chr*< 147)
£10 i-f r=e and ca=0 then prinf'it's t
00 darK to see anyth ing . " igoto 30
££0 pr inf'you 're "r*(r)"."
£30 pr int
£40 v*="you see "
£50 -for i = l to n9-. if iy.Ci)=r then
print v*;o*(i )!y*="<8 spaces)"
£60 next
These lines are executed whenever the player enters a new
room. Line 220 prints the description for room R from the R$
array. Line 250 checks the L% array for the location of each
object; and, if it's in room R, prints its description from the 0$
array. Line 210 shows how to implement a dark room by skipp-
ing over the descriptions for room 6 if the candle is not lit
6U ©-^^
June 1985 9
(CA = 0). You can use all of these lines without alteration in your
own adventure, except line 210.
300 pr in-t . - ■ l; ^ . . . .
310 pri»Tt"you can go!<2 spaces >";
320 -for i=0 -to 3
330 i-f rX<;r,i)>0 then print d$(i)" ";
340 next :pr int
These lines print the exits for room R. Line 330 simply checks
the four directions for non-zero values. The D$ array is used
to print north, south, east or west.
Decoding player commands
400 pr int :pr int "what noui";
4 10 input a*:pr int
420 n $= " " : y *= " " : v =0 : n =0 : j =0
430 l=len (aSJJ-for i = l to 1
440 if mid*<a*,i,l) = " "then v*=le-ft*(
a$ri-l)!j=i!i=l
450 next: i-f j =0 then «j*=a$:3oto 550
460 -for 1=1 to j step-1
470 if mid*<a*.i,l)=" "then n*=mid$<a
* , i -H ) : i =.j
480 next
These lines input a command from the user, and parse it. Line
440 hunts for a space, starting from the front, and line 470 hunts
for a space, starting from the hack. The first word becomes VS
and the last word becomes A^^. Some adventure schemes use
the second word for W, but I find the above method gives bet-
ter results. For example, it understands PUT DOWN THE BAG
OF COINS.
500 t*=left$(n$,3)
510 for i=l to nS ' •
520 if t$=n*(i) then n=i:i=n3 • ' :
530 next
550 t*=left*(y*,3)
560 for i = l to <j3
570 if t*=y*<i) then v=i:i=v3
580 next
The first four lines reduce N$ to three letters, then look for
a match in the A'^ array. This produces the number N. The last
four lines do likewise with V$, coming up with the number V.
If you are not happy with three-letter matching and want to
evaluate more letters, feel free to change lines 500 and 550.
You'll also have to alter your three-letter data, starting at lines
9550 and 9940.
Handling verbs
600 if •J=B then print"! don't Know uih
at "v*" means. "igoto 430
810 if v<9 then 1£00
620 on M-8 goto 1000,1400,1600,1800,1
800
630 on y-13 goto 2200,2200,2200,2400,
2400
640 on v-18 goto 2600,2800,3000,3200,
3400
The program now branches according to the verb number. If
y equals zero, the verb is not recognized, and line 600 loops back
for another input. If V is between 1 and 8, the verb is a direc-
tion, and line 610 branches to the movement section. All other
values of Fare given individual branches. Note in line 630 how
TAK (V = 14), GET (V = 15), and PIC (V = 16) all branch to 2200;
and how DRO (V= 17) and PUT (V= 18) all branch to 2400.
The ON-GOTO structure handles the verb branches very
quickly, so do not hesitate to add redundant verbs. Simply add
the verb to the bottom of the list and put its branch address
on the end of the last ON-GOTO, For example, in my simple
adventure the verb OPE (V = 20) is used to open the safe.
However, it's quite likely that some players will try to use the
verb UNLOCK. Why frustrate them? Just add UNL to the end
of line 9970, change V9 to 24 in line 9900, and add 2800 to the
end of line 640.
Verb branches begin at line 1000, with at least 200 line
numbers allocated to each verb. Some verbs will require only
a few lines; however, it's a good idea to leave room for unex-
pected developments.
1000 if n*="" then print "go uhere?":
goto 400
1010 if n=0 then y*=n$:n$= " " sgoto 550
1020 print "use compass directions.":
goto 400
The GO section begins at line 1000, liN$ is recognized as a
noun, line 1020 is executed. However, N$ usually holds a direc-
tion (a verb!), and line 1010 transfers it to V,^, looping back for
re-evaluation. In my sample adventure, I do not recognize any
direct use of GO. However, if you wish to deal with commands
like: GO STAIRS or GO DOOR, simply begin your routines at
line 1020,
1200 y = (v-l>/2:i=r%<:r ,u)
1210 if i then r=i:goto 200
1220 print"you can't go that way.":
goto 400
The movement section begins at line 1200. The verb numbers,
which range from 1 to 8, are converted to the range to 3. Thus,
N (V = l) and NOR (V = 2) both end up as 0. Then, the connec-
tion array for room R is read to see if a room lies in that direc-
tion. If so, line 1210 sets R to that room and loops back to display
the details,
1400 print "you are carrying:
141Oz=0:for i=lton9 ■,
1420 if l%(i)=-l then print"
<2 £pacei.'>"o$Ci):z=z + l
1430 next -
1440 if z=0 then print"<2 spaces >noth
ing
1450 goto 400
Line 1400 is the beginning of the INV section. Line 1420 ex-
amines the L% array for objects with a location value of -1 {this
means they're being carried). It then prints out their descrip-
tions from the 0$ array. The variable Z is used here (and
throughout the adventure) to keep track of the number of ob-
jects being carried.
1600 gosub 1810:goto 400
1810 .j=0:for i = l to n9
1620 if l%<i)=6 and a%(i)=3 then j =.j -h
10
1830 next
1640 print "you have scored "j "po ints o
ut of 20. "
1650 if .j<20 then return
1660 pr int :pr int "uel I done!":end
The verb SCO branches to line 1600. It starts with a GOSUB
because the subsequent lines are also used by the 'quit' routine.
Line 1620 scans the L% and A% arrays for objects in room 6
10 TPUG Magazine
that are treasures (attribute 3). Every treasure is worth 10
points. In your own adventure, replace the 6 with the number
of the room you want the treasures left in. You can also change
the 10 if you want a different treasure value. It is also possible
to give different treasures different values by defining additional
attribute numbers. For example, objects with an attribute of
4 could be worth 20 points.
Lines 1640 and 1650 refer to the maximum score attainable.
Substitute your maximum for the 20.
IS0B i-f ri=0 then 230
1810 gosub 336: i-f nx then 400
182D i-f n=G and 1X(4>=0 then lXC4)=r!
print "you -find a Key."!9oto 400
1830 i-f ri = lE and 1X(10)=0 then l'/.<iQ>
=r ! p r i n t " s o me t h i n g ' s there. " :
goto 400
1840 i-f n=8 then print"it is "mid*("u
nl it " ,ca*8-H ) " . "-.goto 400
1850 i-f n=9 then print "it's rusty.":
goto 400
1995 prinf'it's .just "o$<n ) " . " : goto 4
00
Both EXA and LOO branch to this routine. If there is no
recognized noun, hne 1800 loops back to display the details of
the current room. If there is a noun, line 1810 checks to see that
it is actually present in the room. This is WTitten as a subroutine
because several other verbs will also need to check this.
930 nx=0: i=l%<n)
940 if
950
iOr
n ' t see
return
and i< >-l
it here."
then
nx = 1
P r i n t " i do
the candle is lit (CA = 1) or unlit (CA = 0), and lino \HM) says that
the shovel is rusty. Any item not specifically deait with falls
through to line 1995.
I recommend you include details for most of your objects in
this routine. Trivia! details are a good way of enriching an adven-
ture, and they also make genuine hints less obvious.
£200 i-f n=0 then 900
2210 i-f l/'.<n) = -l then pr int "you ' ye al
ready got it!":goto 400
2220 gosub 830: if nx then 400
£230 if a%<n)=0 then print "don't be s
il ly . " igoto 406
£240 if a%«:n) = l then print"it's too h
eayy . " :goto 400
££50 if z >3 then print "your hands are
<s.pace >f ull . " sgoto 400
£260 2=2-H:l>:>:n)=-l
2270 pr int "oK":9oto 400
Line 2200 is the beginning of the section that handles the verb
GET (and the redundant verbs TAK and PIC). GET always re-
quires a recognized noun, so this is checked at the start. Since
several other verbs will also require this, the routine is written
as a subroutine.
900 if n*="" then print "you need to s
ay what to "■j*".":goto 400
810 print "i don't Knoui uihat a "n*" is
. " :goto 400
Line 2210 checks the location array to see if the specified ob-
ject is already being carried; and line 2220 checks to see whether
the object is actually present in the room. The ne.xt two lines
check the object's attributes, rejecting it if it's scenery or im-
movable. Line 2250 checks the variable Z, rejecting the com-
mand if four objects are already being carried. Finally, at line
2260, the object is picked up (by changing its location from R
to -1).
2400 if n=0 then 800
2410 if iy.<n)>-l then print"you have
<space>no "n$".":goto 400
£420 l%<n)=r :z=z-l
2430 if n=3 then ca=0
2440 print "OK" :9oto 400
This is the branch for the verbs DRO and PUT. First, line 2400
checks that the noun is recognized. Line 2410 then checks the
location array to see whether or not the object referred to is
actually being carried. Line 2420 drops the object, by changing
its location from -1 to R. Line 2430 is an example of an ex-
traneous line inserted to achieve a special effect — it turns off
the candle when it is dropped.
£600 if n=0 then 900
2610 gosub 930: if nx then
£620 if n=3 then print"it
<£pace >treasure here
400
says : 1 eaue
, " :goto 400
Line 1820 responds to an examination of the pews by reveal-
ing the key (unless it's been previously revealed). Line 1830 does
the same with the desk and the matches. Line 1840 says whether
2700 print "there's no writing, "igoto
<£pace >400
Line 2600 is the beginning of the REA section. The verb re-
quires a noun, and the object referred to must be present. These
are checked in the first two lines. IVIost objects have no writing,
and they fall through to line 2700. The sign, however, has
writing, and it's dealt with in line 2620.
£800 if n=0 then 800
£310 gosub 930: if nx then 400
£820 if n = 12 then prinf'try 'examine'
June 1985 11
"'.go-to 400
2930 i-f n<>13 then £900
2340 if rX<4,l)=5 -then prin-fit's air
eady open.":go-to 400
£850 ii 1XC4)>-1 -then prin-fyou don't
<£pace>haye the Kej^.":goto 400
28G0 pr int "ok " :ry.<4,l )=5:goto 400
2900 print "that's not necessary.":
goto 400
The verb OPE branches to line 2800. Like several other verbs,
it needs a noun, and the noun must refer to an object in the room.
The first two lines check this. Most objects do not need to be
opened, and they fall through to line 2900. The safe is handled
by lines 2840-2860. Line 2840 checks to see whether the bank
(room 4) already has a south connection. Line 2850 checks to
see whether the player is carrying the key (object 4). Line 2860
opens the safe by making the connection to room 5.
Line 2820 responds to the command OPEN DESK. It is there
simply to be helpful. I recommend that you put many such helpful
responses in your adventure. They are just like redundant verbs:
they make it easier for players to express themselves and
thereby reduce frustration. Adventure designers should try to
anticipate the commands players might give and channel them
into understandable expressions. • .
3000 i-f 1%^9)>-1 then prinfyou have
<space>no shoyel . " igoto 400
3010 if rOl then prinfyou can't dig
<£pace>in£ide buildings, "igoto 4
00
3020 print"you find ";
3030 if 1>:<11) then pr int "noth ing . " :
goto 400
3040 1"';<11 )=r :pr int "gold ] ":goto 400
The DIG routine starts at line 3000. The first line checks for
the shovel, while the second line checks that the player is on
the village green. If the gold has already been found, line 3030
is executed; otherwise, the gold is revealed.
3200 if n=0 then 900
3210 gosub 930: if nx then 400
3220 if iy.(10)>-l then prinfyou have
(space >no matches ." :goto 400
3230 if n = 10 then print" it burns brie
fly. " :goto 400
3240 if n=8 then print "it burns brigh
tly . ":ca = l :goto 400
3300 print" it doesn't burn.":goto 400
Line 3200 is the beginning of the LIG section. The first two
lines check whether the noun is recognized and whether it is
present in the room. Since matches are necessary for burning,
line 3220 checks this. A match is lit on line 3230 and the candle
is lit on line 3240; the rest of the objects fall through to line 3300.
No special comment is made when someone lights an already
lit candle, but this could easily be added by checking CA before
executing line 3240,
3400 gosub iei0:end
The verb QUI branches to 3400. There it prints out the score
and ends the program.
My sample adventure is now complete. It's only 4K long and
it's not very thrilling, as a game; however, it should provide you
with a sound skeleton upon which to build your own adventure.
Simply rip out the bits that do not apply to you, and fill in your
own details. ' '*' '
Adding frills. . .
In order to make things easy, I have left the frills out of my
sample adventure. There are no instructions, no title page, no
colours, no fancy screen layout, and no pictures. You will pro-
bably want to put some of these things in your adventure, but
you should be able to add them to my skeleton without too much
trouble.
A title page and instructions are a good idea. Not only do they
set the stage for the adventure, but they also provide something
to read while the arrays are being set up. Instructions are par-
ticularly important for ine.xperienced adventurers, who may not
be aware of words like INVENTORY.
A good screen layout is also desirable. Each new room pro-
vides several items of information, and it's helpful if this infor-
mation is structured in some way. I like to use colours and
i-everse field: for example, if colour control characters are in-
serted at lines 220, 240 and 310, the room descriptions, objects
and exits will be displayed in different colours. Similarly, the
WHAT NOW? prompt can be put in a reverse-field box to set
it off from the rest of the screen.
As you develop your adventure, keep in mind that it's sup-
posed to be entertaining. Fill the adventure with interesting
places and interesting tasks. Put in some humour and some
mystery. Add a touch of the bizarre. Certainly there should be
puzzles in your adventure, but they should not be too difficult.
The purpose of puzzles is to give piaj'ers the satisfaction of solv-
ing them.
Think of your adventure as a novel: you provide the setting,
the plot and the supporting characters. The player takes the role
of the main character. Since he doesn't know what's supposed
to happen, it's up to you to channel his activities until he com-
pletes the adventure. If the player gets stuck on one of your
puzzles, you have failed.
Testing your adventure
When your adventure is complete, it is essential that you test
it. This means getting people to play it, while you sit silently
taking notes. Such testing is the only way to determine whether
the adventure is playable or not. What's more, seeing how peo-
ple react to the adventure will enable you to fine-tune it.
At the lowest level, testing will uncover syntax errors and
other minor bugs. No matter how many times you run through
the program yourself, another person is bound to hit something
you've missed. Moreover, sometimes your tester will input unex-
pected verb-noun combinations and produce unforeseen results.
A more important function of testing is to determine whether
your tester moves smoothly through the adventure. If he has
trouble tlnding words the program understands, make a note
of the expressions he uses; and later try to incorporate them
into your verb list. Similarly, if he gets stuck on one of the
puzzles, think of a way to make it easier. It doesn't matter how
absurdly simple the adventure seems to you; if your tester has
problems, you must make changes.
The most important function of testing is to give you new
ideas. As you sit watching someone play your adventure, you'll
see him attempting things you never thought of. Most of these
are unimportant, but occasionally you'll see somethmg worth
adding to the adventure. It may be just a sarcastic reply to a
particular input, or it could be a major modification involving
five new rooms and eight new objects, \\1iatever it is, take the
opportunity to expand and enrich your adventure. Wlien your
adventure has been tested and you have finished the resultant
fine tuning, it will be ready for release. I hope you will put a
copy in the TPUG library, so that we can all enjoy it. D
12 TPUG Magazine
Adventure And Other Adventures
by Jim Butterfield
Copyright © 19S5 Jim Butterfield. Per-
mission to reprint is hereby granted,
provided this nolice is included in the
reprinted material.
Adventures are good for you. They in-
crease literacy and exercise your mind.
They can be fun to create, and fun to
solve. And (don't quote me on this)
they're fun to cheat on, too — sneak-
ing the answers out of the program
when you can't figure out what to do
next.
It's worth making comments on the
'sneaking' part. When I'm asked,
"How do you get past the snake?" or
some other question spawned from ut-
ter frustration, I tend to have a stan-
dard reply: "Ask me again, and I'll tell
you the answer . . . but first, think and
be sure you really want it". It's annoy-
ing to be told sometliing that you would
have thought of yourself. . . any mo-
ment now.
Similarly, in anticipation of clever
adventurers listing the program and
browsing through my files, I carefully
encrypted the command list. This is
particularly Machiavellian on my part,
I think. An experienced programmer
can find out what might happen, but
still not how to make it happen.
I'm talking, of course, about the
original Adventure, which was written
by Crowther and Woods. It grew — in
an organic manner — at M.I.T., and
quickly spread to all Digital Equipment
Corporation (DEC) computer systems,
worldwide. Many big computer users
didn't even know they had it, but file
advent was there, all right. It took up
a huge amount of memory. The archi-
tecture of large systems allowed such
programs to be restricted to quiet
times, so that the command HOURS
would list — from the system log — the
non-priority hour.s during which
Adventure could be played.
When micros started to gain atten-
tion, Adventure became a common
case in point for computer users. Many
users said: "These small computers are
all very well, but I can tell you one pro-
gram that will never fit. . . " — mean-
ing the original Adventure. And when
8K machines expanded to 16K, and
then 32K, I decided I needed to take
a shot at it, I viewed the game as a
'classic'; I didn't want to change it or
put in my own cute things. For memory
and run time considerations, I ab-
breviated a few small parts of the
game.
Let me tell you a little about Adven-
ture, if you've never been there. You ,
begin by finding yourself at the end of
a road before a small brick building.
A stream runs out of the building.
From that point on, you're on your
own — except for a rumour that
somewhere nearby is supposed to be
a Colossal Cave, filled with fabulous
wealth.
When you find the cave, you're con-
fronted by dozens of events. The cave
is populated by dwarves, a troll, a
dragon, a giant clam, a tiny bird, a
shadowy figure off in the distance,
something that rustles as it follows
you, a little plant that whispers
'water', a fierce green snake, and a
bear. Some of the treasures seem to
have special pi'oblems: a delicate Ming
vase can be picked up, but breaks
when it's dropped; a gold nugget
makes the exit stairway vanish if you
pick it up; and a platinum pyramid is
not only invisible in a dark room, but
won't fit through the tiny exit hole.
But — as is often said — there are no
problems, there are only challenges.
Even in the early days, Adventure
inspired a host of emulators. TPUG
President Michael Bonnycastle wrote
Caves and Stygian Tombs, so as to
devise an interesting adventure that
would fit within 8K of memory. As a
response, I wrote an 'airay' adventure
called Explore to demonstrate how to
fit the maximum number of rooms
within limited memory.
As systems gi-ew in memory size
and general capabihty, even the classic
Adventure was overtaken by suc-
cessors. The Zork series allows much
more flexible syntax: where Adven-
ture permits only two words, a verb
and a noun, Zork will deal with a
sentence such as: "Put the cake on the
table".
A few words of caution: it's very
easy to make adventure writing an ego
trip: putting in clues that nobody will
be able to solve if they aren't 'in'.
Players tire very quickly of a game if
they feel that it's not a challenge, just
an exercise to show how clever the
writer is. On the other hand, an adven-
ture shouldn't be a dull recital.
Nothing is more boring than pro-
ceeding along and killing everything
in sight. Maybe your strength will give
out, or maybe you'll make it through,
but there's little exercise for the mind,
here.
I recall having a discussion with an
adventure-writer about non-violent
adventures. The idea was that you
couldn't get killed or hurt, and couldn't
lose the game. The thought was laud-
able, but the game was a little dull; if
you knew you couldn't fail, you didn't
have the same motivation. In contrast,
a preschool game called Thirsty Nellan
(on disk (C)T7) offers challenge and a
good interest level.
Educators have told me that adven-
ture games make a major contribution
to reading skills. Kids who are almost
illiterate will learn to read belter in
order to understand the adventure
situations. . . and will learn to spell
better.
After all, if you want to take the
necklace and tj-pe TAKE NECKLISS,
the computer won't give you the
booty. . . D
June 1985 13
Adventure Games: A Personal Journey
by Peter Archer
You're on an old path made by horses . . . You're in a dense dark
forest To the south there seems to be light. . .
So begins Castlemaze, the first in Steven Darnold's adven-
ture game tiilogy. These words deserve to become just as famous
as the opening quote from the original Adventure, written way
back in the mid-seventies on a mainframe computer, and
translated since then onto many microcomputers (including an
excellent version for Commodore machines by Jim Butterfield,
which will work on the C-64, all 32K PETs, and even the VIC-20
with 24K expansion).
Having played both Steven's series and the 'original', I can
say that while I did enjoy Adventure very much, I liked
Castlemaze and its successors, Tunnelmaze and Valleymaze,
even better.
Steven Darnold first encountered adventure games around
1980, soon after he acquired his first computer, a 16K PET. This
machine (when expanded to 32K) allowed him to become ac-
quainted with Scott Adams' first two adventures (Adven-
tureland and Pirate Adventure), plus (when he obtained a disk
drive) Butterfield's version of Adventure. These ail had a
definite influence on him, when he later started producing his
own adventures.
After joining TPUG, Steven naturally tried out all of the
adventure games available from the TPUG library. He soon
became acquainted with the efforts of Greg Hassett. Hassett
had written several adventures for the TRS-80, and Commodore
translations of some of these were available from the library.
Among these were Trip to Atlantis and Sorcerer's Castle.
Steven indulged in a "little bit of reworking" and turned Trip
to Atlantis into his own Atlantis Adventure, and Sorcerer's
Castle into Castlemaze. He also used Hassett's basic structure
to produce a major work of his own — Tunnelmaze, a sequel
to Castlemaze, and intended to be the second part of a trilogy.
Atlantis Adventure
My own first encounter with a proper adventure was with
Steven's Atlantis Adventure. This was in mid-1982, in the pre-
Commodore 64 days, when my computer was a VIC 20 with 16K
expansion. Steven's computer was his trusty 32K PET. The only
people who had played Steven's adventures at this time were
his wife, a few local PET owners, and some high school students
at the school where he taught part-time.
Steven made a few changes to Atlantis Adventure to allow
it to run on a VIC 20. About the only thing that needed to be
altered was his input routine, which was machine specific.
Changing a few pokes, however, was all that was required, to
write a working "\^IC version. Of course, the screen looked pretty
funny with the text (designed for the PET's 40-column screen)
wrapping around the VIC's twenty-two columns. But after a
while I hardly noticed this.
And what did 1 think of Atlantis Adventure? Well, I was hook-
ed! So were my wife and eldest son (then aged 11). What better
way to spend a Saturday evening than gathered around the com-
puter over a few beers, enjoying the challenge of trying to
unravel the puzzles set for us by our friend Steven?
Of course, when I first played Atlantis Adventure, I was a
mere novice. But I found that there was just the right degree
of difficulty — hard enough, without being too hard. As Steven
says: "Any idiot can write an adventure that's so hard, no-one
can solve it. . . The real challenge to the adventure writer is
to make things just difficult enough without being unfair on the
player." I found that Atlantis Adventure, as well as his other
games, contained just that correct degree of difficulty — enough
that the player has to really stretch his mind, but by no means
unsolvable.
Looking back on Atlantis Adventure, I now realize that there
are some very nice original ideas. Things like the cannon and
the jail stick in the mind, but also little things like the comb and
the relationship between the train and the cliff show evidence
of a very inventive mind. And I mustn't forget the good old
discus . . .
Castlemaze and Tunnelmaze
Once we had finished Atlantis Adventure, we tried Castlemaze,
and then Tunnelmaze. We found that they, too, contained just
the correct degree of difficulty.
I believe that the narrow crack and large painting will become
a classic example of adventure programming. The vase, as well;
and the. . . oops, I mustn't give the game away to those of you
who have yet to experience the pleasure of Castlemaze for
yourselves. Also, I will never forget the snake (or the turtle)
in Tunnelmaze,
Incidentally, a word of advice for all you would-be adventurers
when you tackle any of Steven's masterpieces. Always examine
everything, and note very carefully, and think hard about the
implications of, even the slightest remark made about the natui-e
or position of every object. On several occasions that I can recall,
I have missed a vital but very subtle clue, and hence blundered
around blindly for much longer than necessary.
The C-64 Hits New Zealand
Once the C-64 became available in New Zealand in early 1983,
we abandoned the old VIC for adventuring and switched whole-
heartedly to the C-64. Steven and I obtained two of the very
first C-64s sold in New Zealand (both very low serial number
models, from the West German Commodore factory, air-
freighted direct to New Zealand from England before they were
available from the normal channels via Australia).
Steven set to work to produce very nice C-64 versions of
Atlantis Adventure, Castlemaze and Tunnelmaze with very
effective screen colours, and so on. The latest versions of these
are compiled with the DTL compiler, and run very fast on the
C-64. Copies are in the TPUG library (and in some U.S. groups'
Ubraries).
These adventures helped to fill two disks of public domain pro-
grams that Steven put together for the C-64 in early 1983, when
C-64 software was scarce. The programs have since become very
well known here in New Zealand, and also in some parts of the
USA.
In The Public Domain. . .
At this point I feel that a word (or three) about the subject of
public domain adventure game quality would be in order.
I have seen many so-called adventures being sold commercially
14 TPUG Magazine
that are vastly inferior to the public domain ones I have been
speaking about so enthusiastically.
One of the reasons Steven decided not to sell Tunnelmaze
commercially was because the leading publisher of software for
hobby computers in New Zealand was only interested in adven-
tures if they 'contained graphics'. Text-only adventures were
not wanted, no matter how superior the quality. A very short-
sighted policy indeed, considering that the two so-called
'graphics adventures' that were subsequently released onto the
New Zealand market by that same firm were pure garbage!
The other reason that Tunnelmaze never appeared as a com-
mercial product was that Steven had sent an early (PET) copy
to an Englishman, with whom he used to correspond. Some con-
siderable time later, this person published a book about adven-
ture games for the C-64 that included a full printed listing of
Tunnelmaze. Steven was not very pleased (to say the least)
about this, and decided forthwith to place Tunnelmaze in the
public domain.
Valley maze
Steven had intended from the first that Castlemaze and Tun-
nelmaze would be the lead-up to his real masterpiece, which he
had named Vallejonaze. But the sheer size of the project had
caused him to defer starting work on it.
After thinking about it for a long time, however, and after
much urging, he finally made a serious start on it in the
(southern) summer of 1983-84. (Steven's job as a part-time high-
school teacher gives him a long summer vacation, from mid-
December until the beginning of February).
To start with, he used his trusty old PET, with its well-used
package of toolkit utilities, and so on. But Valleymaze was in-
tended to be as big as the C-64's memory would allow. Even-
tually he ran out of room in 'Old Faithful', and had to proceed
with actually writing it on the C-64.
He soon found that the sheer size of Valleymaze was a pro-
blem. To give himself as much room as possible, he rewrote his
parsing routine in machine language and placed it in the C-64's
'C block'. This also greatly increased the speed and eliminated
the 'garbage collection' problem. He also rewrote his input
routine in machine language and put it into the cassette buffer.
When the finished program was compiled with the DTL com-
piler, this also helped the run speed.
Talking of size, Valleymaze is actually bigger than Adven-
ture. It has more locations (or rooms), but by keeping the text
much less wordy, Steven has still (just!) managed to cram the
entire program into the 38-odd K of the C-64's BASIC memory
with no need to resort to disk files. Hence Valleymaze is
available on tape, as well as on disk (it must surely be just about
the largest adventure available for any computer on tape).
But what is it like? Well, I had to wait some time to find out.
After his unfortunate experience with the Tunnelmaze 'piracy',
Steven was understandably reluctant to trust anyone (even me!)
with a copy of Valleymaze. So, as we then lived over four hun-
dred miles apart, I had to wait until we could get together to
actually try it out. Steven likes to have someone test-play his
new adventures while he watches them, noting any possible dif-
ficulties for later correction in the final version. In this way,
he can accurately gauge the degree of difficulty of the various
problems that the player has to solve.
Steven kept Valleymaze under wraps for almost a year before
eventually deciding to place it in the public domain too. By the
time you see this issue, Valleymaze will be officially in the public
domain (for the Commodore-64 only, at this stage, because of
memory limitations) (see 'Library Additions').
Steven's long-suffering wife, Helen, had been (as usual) his
first 'guinea-pig', and he had already polished up Valleymaze
to a very high standard before my son Jonathan and I finally
had a chance to play it in Steven's motel, in Christchurch, August
1984.
Well, what can I say? Many adjectives come to mind. Large.
In fact, huge! It certainly merits the inclusion of the 'save game'
option that he had thought unwarranted in his earlier efforts.
Another adjective — brilliant! There are many nice touches com-
pletely original to him. Like the shop. And the way the train
fits in. And the oven. . .
But don't take my word for it! Try it for yourself. I would ad-
vise that you play Castlemaze first. Then tackle Tunnelmaze.
And finally take on Valleymaze. You will have countless hours
of enjoyment (and frustration!) ahead of you. D
Adventure Games: Text versus Graphics
by Peter Archer
There are basically two types of computer adventure games: the straight 'text only' adventures, and the ones with graphics.
The 'text only' adventures are (in my opinion) the true classic computer adventures. Playing a top-class text adventure is
very similar to reading a quality work of literature: your mind is free to construct your own pictures of the scenes described,
whereas in a graphics-type adventure, what you see is what you see.
One problem nowadays with graphics adventures is that high-quality graphics consume large amounts of memory. This
position will eventually change. The next generation of home computers will have much more memory than today's machines,
based as they are on 8-bit processors, with their somewhat limited memory addressing capacity. Also in the not too distant
future, the combination of the video-disk and the home computer will allow the use of genuine hi-res 'real live scenes' in
computer games — as is already done on the more advanced coin-operated arcade machines.
At present, however, there is no comparison between the two types of adventure games. As long as the player is endowed
with a good imagination, a well-written text adventure wins hands down every time over all but the very best graphics
adventures. ^
June 1985 15
Inside Inner Space
by Jim Butterfield
Copyright ® 198S Jim Butterfield. Permis-
sion to reprint this material is hereby
granted, provided this notice is included
in the reprinted material.
It was December 31, 1979. A day like any
other day . , . except for the arrival of The
Transactor, Volume 2, Number 7. The
front page announced: "This month's
Transactor is a collection of . . . charts
and tables concerning PET. . ."
There were 21 pages of memory maps,
edge connector tables, hexadecimal con-
version charts and other useful stuff. Just
about half of it was my stuff (much of it
reprinted from previous issues). It was
useful to have everything in one place. I
carried around my copy for a couple of
years, until. . .
Volume 4, Issue 5, appeared around
October 1983, although the issue carries
no date. The reference section now
covered 54 pages, and the type was
smaller so that more information could be
jammed in. There was more professional
typesetting and numerous diagrams: for
example, there were pictures of the edge
connectors. By this time, the VIC 20 and
Commodore 64 were popular, and there
were many special charts covering sound,
gi-aphics and sprites. The original 'Super-
chart', showing character representa-
tions of various styles of memory (screen,
ASCII, etc.), was now split into two
charts: one for PET/CBM, and one for
VIC/C-64. The B series wasn't yet avail-
able, but maps, command summaries and
error lists were provided for this range
of machines. New tables such as a side-
by-side comparison of disk drives (still
valid) were included, as well as, surpris-
ingly, a book list and a glossary.
This Special Reference Issue became a
hot item, and quickly sold out. It could
have been (should have been) reprinted,
but the editor, Karl Hildon, was busy
gathering new material for his next
magnum opus . . .
The Complete Commodore Inner Space
Anthology is now available for $14.95
from The Transactor, 500 Steeles
Avenue, Milton, Ontario, Canada L9T
9Z9. The price, by the way, is an introduc-
tory special: newsstand and bookstore
price will be somewhat higher.
If you have any technical interests at
Eill — and maybe even if you don't — you
need this one. There will certainly be
something you'll need to look up. . . and
almost anything you can think of is in the
CCISA. If you're not a techie, you can still
find a comprehensive set of BASIC com-
mands. If you're beyond BASIC, you'll
find extensive material on COMAL and
Machine Language. If you don't program
at all, you'll be able to use the Word-
processing Reference Guide, which has a
side-by -side comparison of the commands
of Superscript, EasyScript, Paperclip,
Speedscript, WordPro and the new
WordPro 64. If you'd rather work with
spread sheet programs, a briefer section
gives a summary of the Gale Result
commands.
There's even more in terms of general
information. Bulletin board numbers and
network numbers (for Datapac, Compu-
Serve, Tymnet and GTE) are given for the
communications enthusiast. And for
everyone — including the traveller —
there's a list of computer clubs.
This is a book without text. It's all
reference tables. Because of this, it's less
a book for learning and more for check-
ing up on the details of .something that
you know, but can't remember. But even
if you can't understand some of the
tables, they're interesting to look at and
may draw your attention to new areas of
computer utilization, and new ideas.
There are 122 pages of information in
The Cojuplete Commodore Inner Space
Anthology, and on some pages the print
is fairly small. One of the objectives is to
allow you to see a complete section of in-
formation laid out in two adjacent pages.
It's spiral-bound, by the way, to allow it
to lie flat for this type of use. Complete
memory maps — RAM and ROM — are
available on such double pages, and other
sections show careful planning to give the
same useful effect.
It's difficult to summarize the contents
of this volume. There are extensive charts
to assist and give inner details on BASIC,
COMAL and Machine Language. The
Supercharts give character sets; the
hardware section gives everything from
board layouts to chip specifications. The
printer section gives details on many
printers; the disk drives section supplies
both technical and general information on
Commodore disks. This includes detailed
memory maps for the 4040, 8050 and
1541 units.
The video section gives detail on video
for all current machines including the B
series. Oddly. Greek alphabet character
matrix codes are given for printers, but
not for screen characters. . . it's surpris-
ing to see them at all, but that's one of
many little surprises in the book.
Karl seems to have gotten enthusiastic
over sound generation. Not only does the
book contain details on note generation
and sound chip registers — as usual, for
ail computers — but it also contains a
glossary of music notation symbols and
chord composition. I'd half e.xpected to
see a catalogue of favourite weapon
sounds — laser blaster, phasers, gun-
shots, explosions, sirens, and so on ~ plus
an ADSR list for common instruments
such as piano, flute and oboe. . . but these
are absent.
There are many unexpected items.
'Checking Semiconductors with an Ohm-
meter' is a surprise, although it's in-
teresting to see the wide range of
technologies listed. Metric units are
there. I wish it would tell me, though,
how to pronounce the 'g' in 'gigahertz':
hard as in 'gift', or soft as in 'gin'. The
table of propeller thrust for a power boat
makes me suspect that Karl has nautical
leanings; and you may find it useful to
know that the US septendecillion is the
same as the British nonillion . . . either
way, it's a big number.
The unit conversion table is lengthy. If
you want to change firkins to liters, or
roods to hectares, you'll find it all there.
I had some trouble reading (twice) that
1 cubic foot per minute equals .0011
quarts (liquid), but maybe that somehow
reflects the editor's drinking capacity.
And I was frustrated in trying to convert
Atmospheres to Pascals; although they
are both units of pressure, the conversion
isn't readily supplied.
The Complete Commodore Inner Space
Anthology ends with a couple of lavish
tables that don't seem to have much to
do with day-to-day computing: Geometric
Areas and Volumes, and an ornate
Periodic Table of the Elements. I asked
the editor about this and, as I understand
it, they were just too pretty to be left out.
In any case, you never know when you
might need one.
It's a rich and useful collection of infor-
mation. You'll just have to have one for
your bookshelf. D
t6 TPUG Magazine
The Ultimate Shuffle
by Gordon Campbell
Shuffling a deck of cards should be a fast, simple process for a com-
puter. But many progi'ams spend excessive time doing it.
The best algorithm is fairly simple, although the mathematical proof
that it generates a well-shuffled deck is not obvious. The following
steps are required:
• Consider a deck of 52 cards,
• Select a card at random, and switch it with the top card. (If the top
card was selected, leave it alone.)
• Reduce by one the number of cards being considered.
• Repeat steps two and three until only one card is left.
Simple enough so far, and this algorithm can be coded in one line
of BASIC. The tough part is making it run quickly. The demonstra-
tion program below will run on all Commodore computers.
The 'tricks' used to speed things up are:
• Move numbers, not strings. (The numbers don't really move in
memory, but the strings do.)
• Use as few lines as possible.
• Include no spaces in the code.
• Use variables, not literals.
• Shorten zero to period. (The BASIC interpreter sees it as 0.0, and
does it quickly.)
• Place the subroutine as close to the front of the program as possible.
• Predefine the variables, with the first one mentioned first, etc.
• Make best use of single-digit line numbers.
As is obvious from the demonstration program, 1 do not advocate
these measures for all of a program, just the parts where speed is
important.
Demonstration Program
In the demonstration program, line 6 is the routine that does the
shuffling. Everything else is either initialization — up to printing the
'menu' of options — or window dressing to check the shuffle
subroutine.
One of the menu options is to shuffle a deck twenty times and report
how long it took, while the other displays the shuffled deck as seven
hands of seven cards each. This is just to prove that typical hands are
being produced.
Notice that the array D$ contains the visual representation of the
cards, but is untouched by the shuffle subroutine. The numeric array
D contains pointers into the D$ array.
Application
Several years ago, one of the players in my poker circle introduced
a new vai'iation of the game. The variation lent itself extremely well
to computerizied analysis, so I wrote a program to do just this,
accumulating statistics on winning and second-best hands. (As every
poker player knows, the only really expensive hands are the ones that
wind up second best.)
Within a week, I had accumulated statistics oti twenty thousand
deals. Ethics decreed that I show the statistics to the other players,
but the game still proved profitable.
The Bottom Line
The demonstration program shuffles a deck of cards in well under one
second. This isn't quite instantaneous, but it certainly shows that there
is no need for programs to print the message. Please wait •— shuffling.
I gotoie
6 -fora^ctodstepe :b=rnd C. )*a:-f
=d(a) :d<a)=d<b>:d<b)=f snext
ireturn
II rem in it iai izai ion
16 print "ultimate shuf-fle?
EI prinf'by gord campbell
26 print
31 a = . ! b = . : f = .
36 e=-l: c=51 : d=l
41 dim dC51), d*(51)
46 -for 4 = 1 to 51 : d(.j )=.J :
next
51 -for .j=0 to 51: read d*<.j ) :
<£pace >next
56 print "press 't ' -for t imin
3 test
61 print "<6 £pace£>'d' for d
isplay
6S print "<e spaces>'q' to qu
it
SB geta$: ifa*="t" goto 81
71 i-F a*="d" goto 161
73 i-f a$="q" then end
76 goto 66
81 n=Heii t=ti
86 t=t i :f or j = lton sgos-ube Jnext
!x=t i
91 print "took"; (x-t )./(n*60)
; "s-econds- per deal "
96 goto 56
101 gosub 6: -for j=0 to 6:
-for K=0 to 6
106 print d$ <d <,j*7+K)>; " "
; ; next
III print: print: next: goto
<space >56
US data "aX", "EX", "3X", "4
X." r "5X", "6H", "7X''
121 data "6H", "gX", "leM", "
.jX", "qH% "KX"
1S6 data "aZ", "£Z V "32", "4
2'\ "SZ", "6Z", "7Z"
131 data "8Z", "9Z", MSZ", "
,jZ". "qZ", "KZ"
136 data "aS", "ES", "3S", "4
S", "53", "63", "73"
141 data "83"
.jS", "qS
146 data "aA". "Eft", "3ft", "4
ft", "5ft", "Bft" r "7ft"
151 data "8A", "9ft", "10ft", "
jA", "qA", "KA"
June 1985 17
The C-128: A Programmer's Playground
by Nick Sullivan
The sleek new Commodore 128 PC, with
its Concorde profile and rococo architec-
ture, is one of five new computers, that
Commodore is planning to introduce this
year (the others: the IBM clone PC 10,
a Unix micro, the LCD lap computer, and
the Amiga). With the possible exception
of the Amiga (still, apparently, at least
six months from release), it is also the one
that has generated the most excitement
in the Commodore computing
community.
The hallmarks of the 128 are versatil-
ity and compatibility. In one mode, it is
a Commodore 64, ostensibly 100 per cent
compatible (though one well-known user
has reportedly found a commercial C-64
program that won 't run on his prototype
machine). In another mode, it is a CP/M
computer, with very fast disk access, and
a mountain of popular software readily
available. Documentation for this mode
is not yet included in preliminary versions
of the C-128 manual. Both C-64 and CP/M
mode will likely appeal to users, rather
than programmers.
Then there is the 'native' or 'C-128'
mode, with 128K of built-in bank-
switched RAM and 44K of ROM, a
sophisticated new BASIC (numbered 7.0),
40 and 80 column video output, all the
C-64's graphics and sound capabilities, a
lot of new keys, and the ability to com-
municate with the fast new Commodore
disk drive, the 1571. C-128 mode is not
100 per cent compatible with any other
computer, but the BASIC 7.0 owes a lot
to the BASIC 3.5 dialect in the Plus/4 and
C-16. No doubt there will be lots of great
software written for this mode, too, in the
months and years to come. Yet it is also
ideal for those who like to do their own
programming.
The overlooked \drtue of the Plus/4 and
C-16, as Jim Butterfield likes to point out,
is that they are friendly to programmers.
First there's the big vocabulary of BASIC
commands, which makes most pokes ob-
solete. Next is the addition of three com-
mands - RENUMBER, DELETE and
AUTO — specifically for making program
development more convenient. Lastly
come the improvements to the already ex-
cellent Commodore screen editor, which
now features a variety of useful two-
stroke commands (the ESC key followed
by a character) to perform such functions
as inserting and deleting screen lines,
erasing lines to and from the cursor,
defining screen windows, and blanking
the screen from the cursor to the bottom.
You can even get an insert mode, such
as one finds on word processors, for typ-
ing without overstriking.
The friendliness of the Plus/4 and C-16
carries over to the Commodore 128, and
is enhanced with such items as a numeric
keypad, a CAPS LOCK key and a TAB
key. But this machine boasts other
features that programmers will also
cherish.
The Monitor
Like many earlier Commodore computers
(all except the C-64 and VIC 20), the
C-128 has a built-in machine language
monitor. This monitor works with
5-character hexadecimal addresses, not
routines in pages 2 and 3 of memory for
getting around between banks.
The monitor itself features a simple
assembler and disassembler, memory
display, hunt, transfer and compare func-
tions, load and save, and so on. It is bil-
ingual in hex and decimal. Since the
monitor's command checking routine
jumps through a RAM vector ($032E in
our preproduction machine), it should be
possible to add new monitor commands
if required. By the way, other new vec-
tors in RAM have also been provided,
allowing for various other extensions to
the operating system, particularly in the
area of editing functions (the escape and
control sequences, for example).
High Resolution Graphics
The Commodore 64 has excellent hi-res
and medium-res graphics capability — in
hardware. Unfortunately, it is a program-
the 4-character addresses most of us are
used to. The first character is the bank
number (0 through F). BASIC programs
and graphics data are stored in Bank 0;
variables and strings are stored in Bank
1 . The segregation of program from data
gives plenty of room for code and for big
arrays, and also simplifies program chain-
ing. Banks 2 through E are available for
memory expansion (which will be avail-
able later this year) up to 512K. Bank F
holds the ROMs. The lowest 16K of mem-
ory seems to be common to Bank and
Bank F; Bank 1 shares only the lowest
IK with the others. Bank switching is
controlled at memory location $FFOO in
each bank, and there are lots of little
ming challenge to draw so much as a sim-
ple straight line on the hi-res screen, let
alone anything more complex. Moreover,
to accomplish hi-res tasks at reasonable
speed normally requires either machine
language, or a non-resident language
such as Logo or COMAL.
This is not true of the C-128, which pro-
vides a battery of commands to simplify
hi-res work. Now we have the DRAW
command to generate points, lines or
polygons, and the BOX and CIRCLE com-
mands for more specialized tasks (though
both of these are more general than their
names suggest). In addition, you can now
get a split text/graphics screen, with the
graphics part either multicolour or hi-res,
18 TPUG Magazine
BASIC 7.0 Key
Compiled by Chris Bennett
words
The BASIC 7.0 language on the new C-128 computer (in C-128 mode) is the richest BASIC dialect yet offered on a
Commodore machine. On this page. Chris Bennett has compiled a list of BASIC 7.0 commands in three sections. The
first section contains those BASIC 4.0 commands that were
present on the PET/CBM series, but dropped for the VIC
20 and Commodore 64. In the second section are the commands that were new
with BASIC 3.5 {on the Plus/4 and C-16);
these commands have been retained in BASIC 7.0. The third section gives the commands that are new with BASIC 7.0. j
Commands that ai-e found in all Commodore BASIC dialects (PRJNT, POKE,
and so on) are not included in this list.
BASIC 4.0 Commands
ROOT
Return the position of the pixel cureor
APPEND
Add new data to an existing file.
RENUMBER
Renumber the lines of a BASIC program.
BACKUP
Duplicate an entire disk tn a dual drive.
RESUME
Return to execution after TRAPping an error.
CATALOG
Display the disk directory on the screen.
RGR
Return current graphic mode value.
COLLECT
Validate a disk.
SCNCLR
Clear the current screen in all modes.
CONCAT
Add one file to the end of another.
SOUND
Produce a sound using one of three voices.
COPY
Copy files on disk.
SSHAPE
Save a screen shape.
DCLOSE
Close disk files.
TRAP
intercept BASIC errors.
DIRECTORY
Display the disk directory on the screen.
TROFF
Turn trace function off.
DLOAD
Load a program from disk.
TRON
Begin trace, displaying line numbers executed
DOPEN
Open a disk file.
UNTIL
Part of DO-LOOP condition clause.
DSAVE
Save a program onto disk.
USING
Define format lor PRINT statement.
HEADER
Format (or 'new'} a disk.
VOL
Set the volume level lor the sound command.
RECORD
Position to any record in a relative file.
WHILE
Part of DO-LOOP condition clause.
RENAME
SCRATCH
Change the name of a disk file.
Delete a file from the disk.
C-128 New Commands
BASIC 3.5 Common Commands
BANK
BEGIN
Set bank number for PEEK, POKE, etc.
Used in multi-line IF statement.
AUTO
Generate line numbers automatically.
BEND
Part of the BEGIN-BEND construction.
BOX
Draw a rectangle of any size.
BLOAD
Load file into a specific bank iocation.
CHAR
Display text at a given screen location.
BOOT
Load and run the program named.
CIRCLE
Draw circle, ellipse, arc, triangle or octagon.
BSAVE
Save memory from a specific bank location.
COLOR
Set background, foregfound, border colours.
COLLISION
Used in sprite collision detection.
DEC
Return decimal value of a hexadecimal string.
DCLEAR
Initialize disk drive.
DELETE
Delete a range of lines.
DVERIFY
Verily file on disk with program in memory.
DO
Start of a DO-LOOP command.
ENVELOPE
Set sound envelope (ADSR on SID chip).
DRAW
Draw individual dots, lines and shapes.
FILTER
Set the sound filter (SID chip),
ELSE
Part of IF-THEN-ELSE statement.
MOVESHAPE
fvlove a defined shape around the screen.
ERRS
Return the error description string after a TRAP
MOVSPfl
Move one of the sprites around the screen.
EXIT
Cause termination of a DO-LOOP command.
PEN
Read the light pen port.
GRAPHIC
Set graphics mode: hi-res, split screen, etc.
PLAY
Play music-
GSHAPE
Display a saved shape to the screen.
POT
Read potentiometer on joystick port.
HEX$
Return hex equivalent of decimal number.
RREG
Return register value.
HELP
Display line where a BASIC error occurred,
RSPPOS
Return sprite position.
INSTR
Return the position of one string in another.
RSPRITE
Return sprite attribute.
JOY
Return the position of either joystick.
RSPRCOLOR
Return colour of any given sprite.
KEY
Display function key definitions, or define new ones.
RWINDOW
Return position of current window.
LOCATE
Position pixel cursor on the screen.
SLEEP
Delay execution lor a specified inten/al.
LOOP
Part of the DO-LOOP command.
SPRCOLOR
Set a sprite's colour
MONITOR
Enter the machine language monitor.
SPRDEF
Define a sprite.
PAINT
Fill an area with colour.
SPRITE
Set up the attributes of a sprite.
PUDEF
Redefine symbols in the PRINT USING
TEMPO
Set the tempo of the music.
command.
WIDTH
Set widt!^ for the pulse wave form (SID chip).
RCLR
Return coiour of background, foreground, or
WINDOW
Define a screen window.
border
XOR
Exclusive OR.
June 1985 19
with a single line of BASIC.
A lot of thought has gone into the crea-
tion of these commands to make them as
powerful as possible. The CIRCLE com-
mand, for instance, can draw, in addition
to circles, part circles, ellipses of any ec-
centricity, and even polygons like
triangles, rectangles and pentagons.
Commands with that kind of power are
going to make hi-res programming a lot
less forbidding than on the 64.
Yet there is a penalty, too. The CIRCLE
command takes no fewer than nine
parameters: colour, centre (,x), centre (y),
radius (x), radius (y), beginning of arc (in
degrees from vertical), end of arc,
amount of rotation, and segment size (in
degrees between vertices). Many of the
parameters in this and other commands
have sensible default values — it is rare-
ly necessary to specify all nine. Even so,
the conveniences offered by BASIC 7.0
do not come without a price in
memorization.
The assignment of memory to the hi-
res screen is interesting. At power-up,
the start of BASIC address, where pro-
grams begin, is hex ICOl, decimal 7169.
This leaves you with a Httle over 58,000
bytes of space for program text. As soon
as you invoke a hi-res screen, though,
with the GRAPHICS command, the start
of BASIC is moved up to hex 4001, dec-
imal 16385, and the intervening space is
used for graphics data. This rearrange-
ment, invisible to the user except for a
momentary delay, automatically resolves
the conflict between program text and
graphics data that so frequently has to be
dealt with manually on the 64. It also
reduces program space by 9,000 bytes or
so, but that will rarely be a problem.
Sprites
There are two main difficulties with
sprite programming on the Commodore
64. One is designing the sprite, which re-
quires either a sprite editor or a bucket-
ful of tenacity; the other is handling all
the poking and peeking needed to turn on
sprites, to position and move them, to set
their colours, sizes, priorities and
graphics modes, and to detect collisions
amongst themselves and with other
graphics data.
The Commodore 128 programmer ex-
periences neither difficulty. The first is
solved with a built-in sprite editor, which
one invokes with the command SPRDEF.
This editor is not as powerful as some
that have been written for the 64, but it
certainly beats fiddling with graph paper,
binary math and DATA statements. (It is
unfortunate that Commodore has not
provided a RAM vector for linking in ex-
tensions to this editor, at least in the
prototype 128s we have seen.) Sprites are
stored automatically in a dedicated area
of memory. They can be easily saved to
and loaded from disk with the BSAVE
and BLOAD commands used for transfer-
ring binary data, or they can be defined
as strings with another special command,
SPRSAV.
The second difficulty mentioned above,
that of manipulating a sprite already
defined, is solved with a series of com-
mands that allow all sprite parameters to
be readily set. Collisions can be detected
from BASIC (not possible on the 64), and
can even be set to jump automatically to
a specified subroutine when detected.
(Sprite-sprite collisions can be detected
separately from sprite-data collisions, and
light pen interrupts may be detected
also.) Sprites can even be set to move
automatically with a specified speed and
direction. Once set in motion, they con-
tinue about their business with no further
attention from the programmer.
Sound
Programming sound effects and music on
the Commodore 64 again requires an en-
cyclopedic knowledge of the relevant i/o
registers. Once you have mastered the
mechanics of getting sound out of the
machine, you can start turning your at-
tention to figuring out parameter values
that actually provide a decently musical
result.
The C-128 again shows just how far
short the 64 falls when it comes to pro-
grammer friendliness. As usual , no pokes
are necessary. Musical notes can be
entered using a simple code that is both
concise and flexible. Voice number, note
value, octave and so on, can all be set
along with the notes in the PLAY com-
mand. The wave form and ADSR envel-
ope, which give the sound most of its
character, can be selected from ten preset
instrumental sounds, or can be set by the
programmer for a particular need.
More Commands
BASIC 7.0 boasts a vocabulary of more
than 140 commands, of which I have men-
tioned only a few that will be of particular
interest to 64 programmers. But it is hard
to stop there. The structured DO-LOOP
command-set ought to be mentioned, as
should the convenient disk commands (in-
cluding a transparent directory) that
were present in Commodore's old BASIC
4.0 machines, but not in the VIC 20 or
, C-64. In fact, BASIC 7.0 has all the old
BASIC 4.0 commands plus a couple more.
Other features that will make life easier
or more interesting for programmers are
the predefined (and redefmable) function
keys, the numeric kej'pad, and the well-
situated reset button. There are lots of
things to explore and experiment with on
this machine also. For instance, programs
can be made to autoboot by placing the
characters 'CBM', the filename and some
other data on track 1, sector of a disk
in the drive at power-up. Programs can
be moved back and forth between C-64
and C-128 modes by pressing the reset
switch either with the logo key (selects
64 mode) or without it (selects 128 mode).
The RAM used for the 64 mode is the 128
mode's bank zero.
A Programmer's Playground
The Commodore 128 is undoubtedly a
fine i/.se?-','! machine, given its ability, to
make use of possibly more already ex-
isting software than any other computer
in any market. But with its power, its
complexity, and its convenience features,
it is also going to be a source of aid and
inspiration to programmers of all persua-
sions, and a continuing challenge to ex-
ploit and explore to the fullest. D
PROFESSIONAL AID
|Fd( Commodore Mj
Ht-j-ipiion^'oi rhi- mo^T powerful 3nd vt-r^alife mii«icjl jnd
Rr^phict pJckiRPi dvdiUbl? lor rhe C-M.
PART I:
PROFf SSJONAL aid has seve^dl opuons tor i^r^plh creairon.
• Bit-chirr^ — Vou miy ploi mufTi-v^f/^ble horiionial and
verdcjl bar chjns.
• ?(f rhans — High resoluiion ind labelled'
• High-resqiulion line ^rjph^.
• Hi^h-feioluiion ifailirr/poinl K'^phv
Fof all ihipRrjiph'i, rhe jte^jre drawn, ihe icjlti iie shown.
ind \hv axis labels jre displayed
PART II;
In rerms oi number crunching. PROFESSIONAL AID will
calculate the ^undard Hatisltcs (means, median, mode,
standard devulion, variance, mm/mai, t-arigej jnd display
llabLrlarandhisio^ramMhelreqLtenirydislributionforasetol
daia. It wtll deiermine bivifiate ftwo vanable^i regrfsi.fan ii\%.
providing firred co-edicienii. sundard errors of (he
eslimatei for each co-eHitieni, ihe covanance, R and R-,
residual variant*-, residuals, and Kaiier plots. You also have
the chciiire oUevera I automatic daia 1 ransforrnaiigns . ind can
dplme your own.
PROFESSIONAL AID aUo does mulripte finest regressian.
The ^esuJls presented are the estimated coelf icfems and their
standard errofi. T values, and bet at. Also supplied are R^, the
slandard error of the estimaie,ihe F value, and the residuals.
You may atso make variable transformations so that you can
pedoim nonlinear reKression, e/g.. polyJiomial regression.
Another feature h short -ferm forecmmff. Three methods are
employed- linear regresston, moving averages (span
specilied by the usert, and exponemial smoothing. In the
latter case, you may choos.e the weighting lacior, or let the
torripuier choose the optima] value th/ough linear
regression.
You may have your slaiisttcal results, charis, and graphs
ptrnied oul [high-resolution screen dumpi on Commodore
1S25/MPS-M1. Epson MX or FX vpnes, Gemini -TtO or 05,
■Mannesmjnn Tally MT-SO.
Menu-drivf n. easy lo uie. and very well documented.
Disk in manual — Pan I or II: J19.95.floth (or t}<,9>, Optional
J-ringbmderS5.0Q. Add 7'^ sales lax and J3.00 postage. Send
cheque lo
S & V ASSOCIATES
33 Conover St, Nepean, Ontario, K2G4C3
20 TPUG Magazine
C-64 & C-128* OWNERS:
Stop playing "Hide-and-Seek" witti your Disk
software! Let your Commodore 64"' "memory" do all
the work 1or you with MASTERDISK = or MASTERDUAL«.
Experience fully-integrated power for maximum
productivity. Easy Menu-Guides make everyone a
"pro" in 1 day! Both feature fully-sorted f\/laster
Catalog of your TOTAL Software Library (even those
unlistable "protected" disks).
MASTERDISK? works with 1or2Single Disk Drives
(1541. MSD, etc.) PRICE: 534.95. (U.S.A.)
MASTERDUAL© utilizes all dual-drive functions
(4040, MSD, etc.) for maximum speed and ease of
use. PRICE: SZ9.95. (U.S.A.)
*Both are also compatible with the NEW C-128 (in
C-64 mode)!
INTEGRATED-SOFTWARE SYSTEMS
VISA/M.C./C.O.D.. call |515| 233-2992
9 a.m. -9 p.m., (Central Time) Mon.-Fri.
Add S3 Shipping/plus S2 Foreign, C.O.D,
lA Residents add 4% Sales Tax.
IN CANADA:
Cricket Distribution Co.,
616 Mackechnie Crescent. Cobourg.
Ontario. Canada K9A4X8
Call (416) 372-3692 for prices
and shipping information
9 a.m.-6 p.m. (Eastern Time) Mon.-Fri.
COMAL INFO
If you have COMAL—
we have information.
BOOKS:
COMAL From A To Z, S6.95
COMAL workbook, S5.95
commodore 64 Graphics with COMAL, S14.95
COMAL Handbook, S18.95
Beginning comal S22,95
structured Programming With COMAL, S26.95
Foundations with comal. S19.95
Cartridge Graphics and Sound, S9.95
Captain COMAL Gets Organized. S19.95
Graphics Primer, S19.95
COMAL 2.0 Packages, S19.95
Library of Functions and Procedures, S19.95
OTHER:
COMAL TODAY subscription, 6 issues. S14.95
COMAL 0.14, Cheatsheet Keyboard Overlay S3.95
COMAL Starter Kit (3 disks, 1 book), 329.95
19 Different COMAL Disks only S94.05
Deluxe COMAL Cartridge Package, S128.95
(includes 2 books, 2 disks, and cartridge)
ORDER NOW:
Call TOLL-FREE: 1-800-556-5324 ext 1307 VISA or MasterCard
ORDERS ONLY. Questions and information must call our
Info Line: 608-222-4332. All orders prepaid only— no C.O.D.
Add S2 per book snipping. Send a SASE for free info
Package or send cneck or money order in US Dollars to:
COMAL USERS GROUP, U.S.A., LriUIITED
5501 Groveland Ter. Madison. Wl 53716
TRADEMARKS: Commoflore 64 Of Commodore Electronics Ltd.:
Captain COMAL of comal Users Croup, USA.. Ltd.
^ 1 _k500<
m
be
the
maV.rnt ans'
the
fight
Commodore 64 '
Disk $24.95
TYPING TUTOR + WORD INVADERS
^^_ . . REVIEWERS SAY:
M^^^i>""'5t5*°* ^B "Tlnls is the best typing tutor
■.^B **''^rtrt*'>*'* ^K "^ ^^^ seen yet; * » * * -f "
■••""^^-"S^^CM INFCh64
^Vi^ — ' ■v^^^^-^i Computer aided inslruction at
V)S , ^>^^?7^'^':J^5 ''^ bes!-" Commnnder
V^^^-i!S^^' ^^ "This is an excellent program
■i^g^^fl^E^' '^m that makes typing practice an
^■^S^^^V^^^b' ^& enjoyable pastime instead of
■^^^^^^^^^v^ft boring drudgery."
WHSlf ^UgBMI^ft DILITHIUM PRESS
■l^B^K^^P^^^B' Rated the BEST educational
HH^^^^^S^^ program lor the VIC 20
S^^^P^^^^^^ Creative Computing
™^^^ CUSTOMERS SAY:
. . delighted with my son's
progress ... he is the only one in his second grade class
who touch types at the computer."
"Your Typing Tutor is an excellent program . . . our A
children literally wait in line to use it."
"Thoroughly satisfied, can't believe how fast I've learned to
type. I've never typed before."
In daily use by schools across the USA.
NEWI Commodore PlusM or 16 . . .Tape $21.95 Disk SZ4.95
Commodore 64 Tape $21.95 Disk $24,95
VIC-20 (unexpanded) Tape $21,95
IFR (FLIGHT SIMULATOR)
REALISTIC AIRCRAFT RESPONSE
"Has a Quality of realism which
sets it apart from others, even
those I've tested in flight school."
i Compute's Gazette
i "Great program!" INFO-64
"II is tremendous fun."
Compute's Gazette
Flight tested by an air traffic
controller, two skilled pilots and
an elementary school class.
Highly recommended by all."
Midnite Gazette
"This IS an unbelievably realistic
simulation of the dtfficullies
facing a pilot in instrument (ly-
ing. I'm a 747 pilot and I think Ihal this simulation could do
a tol to improve the reactions and instrument scan habits
of even very experienced pilots." 747 pilot
NEWI Comtnodore Plus/4 or 16 ... ..Tape or Disk S29.95
Commodore 64 Tape or D>sk S29.9S
VlC-20 (unexpanded) Cartridge $39.95
Shipping and handling $1.00 per
order CA residents add 6% {ax
P.O. Box 6277 Sari Rafael, CA 94903 (415) 499-0850
The Creation of Sky Travel
by Frank Covitz
The Sky Travel program, reviewed
elsewhere in this issue, was two years in
(he making. In tk ik article, one of the
authors oftheprogi-am describes the crea-
tion and development of Sky Travel, and
the problems faced by him and his co-
authors in bringing the program to the
market.
It is 1982, and I am discussing mth my
colleague and good friend, Dr. A.C.
Ashcraft (Clif to you and me), the marvels
of the 6502 home computer, the PET (we
had both graduated from the KIM). After
spending a good deal of time and brain-
busting, Clif and I had recently completed
a very versatile music program that spat
out 4-voice music with user-defined in-
struments through a Digital to Analog
Converter (DAG). SID sounds are total-
ly primitive compared to what our DAG
software could do, although SID does
have a better high frequency response. In
any case, I suggested to Clif that another
'natural' for a computer application
would be in astronomy, where computer
graphics could conveniently represent the
results of what we knew would be some
rather complex computation.
Both Clif and I were (and still are)
amateur astronomers. Some years back,
another good friend (Keith Sproul) had
obtained for us a star catalogue in
computer-compatible form through his
connections mth ARPANET. So we had
a good start (although later it turned out
that much more time was spent on the
programming effort than would have
been spent keying in the star data from
catalogues). After deciding that it should
be possible to get the 6502 to present
graphically a view of any part of the sky,
I spent some time describing what could
be done in the astronomy area to Steve
Murri, who was at Commodore at the
time. He suggested that I propose such
a software product to Commodore, which
I promptly did. Both Clif and I began
developing the math routines we knew
were going to be needed: for example, a
spherical trigonometry package, since
there is no way you can accurately repre-
sent a portion of the sky by horizontal or
vertical 'scrolling' through a data base,
as is normally done with game-style
background graphics.
Spherical trig is tough! — and full of
mathematical pitfalls. I could go through
an entire chapter on the inside-out
universes we created, the ones with
'black holes' in various regions, or even
'wormholes' through space whereby an
object could be seen on both sides of the
sky. After about a month of ploughing
through such problems, however, we had
a reasonable window on the sky, viewable
on a PET computer equipped with an
MTU 'visible memory' (a 320-by-200-pixel
monochrome bit map). At about this time,
the Commodore 64 was just starting to
emerge, and Steve Murri obtained one of
them for us. Before launching into a full-
featured 'Home Planetarium' (as our pro-
posed product was originally called), we
decided to wait until my formal proposal
to Commodore was officially accepted
Our personal goal of having a computer
generated sky had already been met, ant
we had little incentive to pursue it fur>
ther without assurance that it would be
a widely useful and marketable software
product. At this time there, was no
horizon, no planets, Moon or Sun, no
world map, and no user-friendly
interface.
Much to our dismay, no one (except
Steve) at Commodore thought much of a
home planetarium product. Typical com-
ments from the decision makers were:
"Wliy do I need a computer? If I want to
know what the sky looks like, 1 can just
go outside." My comments, "If it's rain-
ing out, you can just turn on the wind-
shield wipers on your telescope, right?"
and "I suppose that when you go outside
and point at something in the sky, a voice
coming from the Almighty tells you what
it is you are looking at, and draws con-
stellation lines in the sky," were met with
appropriate but condescending smiles. No
one with decision-making authority seem-
ed to understand that the proposed pro-
gram was not supposed to take the place
of actually looking at the sky, but to en-
22 TPUG Magazine
courage it. Clif and I felt that most peo-
ple have enough curiosity to want to
know the stars and planets, but don't
have the patience and time to gain this
familiarity through books and charts.
The project was put on hold for about
ijix months. In May of 1983, Steve Murri
and I were driving together to attend a
TPUG symposium, at which I was going
to present a talk on graphics and music.
Near sunset, Steve happened to spot a
bright star-like object in the western sky,
and wondered out loud what that 'star'
was. When I told Steve it wasn't a star
at all, but the planet Venus, he was ex-
tremely interested and amazed at how I
knew this. We began discussing the home
planetarium project anew, and Steve
grew more and more enthusiastic about
it. When I reminded him that the pro-
posal had been on hold for quite some
time, he promised he would try to do
something to activate the proposal when
he got back to West Chester. This he cer-
tainly did, and arranged for Clif and me
to meet with Commodore's new software
director, Sigmund Hartmann. Sig (as he
hkes to be called) immediately recogniz-
ed the potential of what we were propos-
ing as a fine example of a product in the
educational area. Things started to pick
up immediately: a contract was agreed
upon, hardware support was generous, ^
and we were asked to finish the product
by the January 1984 CES show.
Now the real work began. By this time,
another colleague and friend. Dr. Fred
Ancker, had joined the team, and was try-
ing to organize Clif and myself into adop-
ting a more business-like approach to
software development than either of us
were used to. Fred, who is Danish, was
our chief negotiator with Sig, and they
seemed to talk the same kind of language
(Sig apparently has more trust in people
with European accents). Fred consistent-
ly attempted to convince Clif and myself
to 'farm out' more work to other people:
the specifications for the home
planetarium had gotten quite ambitious
by this time, and it was clear that it was
going to be an enormous effort. The prob-
lem, as Clif and I so often pointed out,
was that by the time we would be able to
specify exactly what we wanted in
enough detail for it to be farmed out, we
felt that we would be 95 per cent of the
way to having it in source code (it was
clear from the beginning that essentially
all of the planetarium would have to be
written in assembly language).
Nevertheless, we did get help in two
important aspects. We wanted the
system to have an informative piece of
text on every object that the system could
display, and we also wanted the user to
be able to get a hard copy of any graphic
screen. The amount of text on each object
could differ enormously in length (a few
facts on some of the fainter stars, a lot
of text on the planets and some of the
more prominent deep-sky objects). We
needed a random access/random length
disk access routine, but neither Clif nor
I was well versed in the intricacies of the
. . . Clif and I felt that
most people have
enough curiosity to
want to l<now the stars
and planets, but don't
have the patience and
time to gain this
familiarity through
books and charts. , .
disk operating system. A young and
brilliant fellow by the name of Paul Kriss
(an avid TPUGer) was enlisted to do the
disk work as well as the printer dump
routine. We were helped in other areas
as well — not as much as our business
mentor, Fred, would have liked, but
enough to consider ourselves at least
beginners in the 'agricultural' method of
programming.
We started from scratch on our star
data base, and were in touch with the
NASA department that dealt with public
domain information. It turned out that
the Bright Star Catalogue was available
on mag tape for only the copying and
media cost. The positions, brightness, and
other data for the brightest 250,000 stars
was obtained, and a Fortran mainframe
program was written by Keith Sproul to
weed out data for stars brighter than 5th
magnitude — those visible to the naked
eye. By the time we had most of the pro-
gram developed, data for about 1200
stars could fit into the C-64's memory; in
addition, about 300 deep-sky objects
(nebulae, galaxies, clusters, and so on)
were added, also from NASA data tapes.
While I was working out the details of
the user interface, Clif was WTestling with
the problem of how to manage the com-
putation of the Solar System objects
(Sun, Moon, planets). At first approxima-
tion, the planets seem to trace out neat
circular or slightly elliptical orbits with
the Sun at one focus. After all. Sir Isaac
Newton and Johannes Kepler had work-
ed out the two-body grayitation problem
long ago, so it couldn't be too com-
plicated, right?. . . Wrong! It turns out
that in order to be accurate enough to
compute positions to a minute of angle
(the limit we had decided upon as consis-
tent with 16 bit coordinate data), the
equations for planetary motion have to in-
clude the secondary eiffects (or perturba-
tions) due to objects other than the Sun.
The Moon is especially difficult, since it
has significant perturbations from both
Earth and Sun, and is an object whose
position is observationally known over
long periods of time with good accuracy.
By this time, Fred had gotten
fascinated with historical accounts of
such phenomena as lunar and solar
eclipses, planetary alignments and tran-
sits, and we all desired to be able to
simulate these reasonably well. The stars
must have been favourably placed for us,
because Clif was able to locate a journal
article that seemed tailor-made for our
purpose. Not only that, but it turned out
that we knew one of the authors. The ar-
ticle presented a method and gave the
data needed for computing the positions
of the planets and Moon with no short or
long-term drift with an accuracy of about
one minute of arc. Understanding how to
use the system was no simple task
because it entailed a fair knowledge of
astronomy, math and computer
programming.
To save valuable RAM space, Clif and
I decided to use the ROM floating point
routines out of the BASIC area. Although
Jim Butterfield cautioned us to avoid tap-
ping into the non-Kemal area, he also was
quite sure that these routines had surviv-
ed essentially intact since the early days
of the first PETs, and were unlikely to
change for any machines on the horizon.
Clif and I decided that the needs of
meeting our deadline, and the savings in
RAM space justified our use of the ROM
routines. After falling into all the traps
associated with the floating point ac-
cumulators, normalized representation,
the sign comparison byte and so on, we
finally got the planetary ephemeris under
control. Fred had a field day asking us to
check out some of the more interesting
historical events he was incorporating in-
to the tutorial sections of the manual he
was writing (he wasn't able to farm that
job out, either!). As a result, we had to
modify the equations subtly to account for
the slow deceleration of the Earth's rota-
tion rate due mainly to tidal friction with
the Moon. The Moon's orbital elements
also had to be corrected for this effect.
By now, the user interface was
reasonably complete, and we had met our
goal of not forcing the user to have to key
in any numerical information, as was the
case for various astronomy programs
June 1985 23
then available. The observer's location on
Earth, and his direction of view were cur-
sor (or joystick) controlled; the correspon-
ding coordinate data tracks the cursor
and is continuously displayed in a 'data
window' on the right edge of the screen.
The text access portion was not quite
finished, but we felt that we had a
dennonstratable program in time for the
CES show in January 1984.
During our preparations for CES, Clif
and I were invited by Frank Winter of
Commodore Canada to participate in the
Commodore Anniversary meeting and
show in Toronto, in mid-December.
Naturally, we were going to preview the
home planetarium program, and Frank
creatively entitled our talk 'Magical
Mystery Tour Through The Universe'. In
keeping with the spirit of this unusual ti-
tle, I prepared a few surprises specifical-
ly for the show. As the audience entered
the auditorium, I had arranged to have
the Beatles' song 'iVIagica! Mystery Tour'
playing in the background. Previously,
Clif and I had been doing some last
minute programming so that the ON
tower in Toronto would be visible on the
horizon, when the system was put to the
correct latitude and longitude. Thus the
machinery for the 'map tokens' was
created.
I had carefully arranged things so that
after the opening screen default condi-
tions (Washington DC, January 1, 1985)
I could quickly demonstrate the MAP
mode by going to Toronto, and the SET
mode by going to the show date and time,
which was in the late afternoon. The sky
colour came back blue, of course, since it
was still daytime. To demonstrate the
FIND feature, I had the program find the
Sun; there it was, low on the western
horizon, and just above the CN tower, as
had been so carefully planned, I activated
the clock to 64X so the audience would
get to see the sunset. As the clock started
to tick, I secretly activated a recording
I had made of the opening music from
'Also Sprach Zarathustra' (j'ou know, the
one from 2001). The music peaked just as
the Sun was passing behind the CN
tower, and setting below the horizon —
perfect timing, if I say so myself.
Needless to say, the audience loved it.
"Aha!" heckled Brad Templeton (a
TPUGer of note for his brilliant program-
ming abilities), "I bet you still see the CN
tower before 1970." (The tower was com-
pleted in 1970). To the audience's delight,
I was able to retort truthfully "Of course
you don't see the tower before it was
built, Brad," and proceeded to
demonstrate.
By May 1984, all the minor bugs had
been removed, and the manual was finish-
ed by Dr. Ancker and delivered lo West
Chester. We had previously
demonstrated the planetarium program
to a group from the Franklin Institute,
a museum in Philadelphia, and the staff
of the Haydcn Planetarium, where the
resident astronomer was skeptical until
I successfully simulated an eclipse of the
Sun in New Caledonia in November of
1984, an event to which he was making
an expedition.
. . .As the clock
started to tick, I secret-
ly activated a recor-
ding I had made of the
opening music from
Also Sprach
Zarathustra. . .
The project was stil! far from complete.
All the details of preparing the manual
for publication, and getting the disk 'pro-
tected', lay ahead of us. By this point, we
were being helped by Commodore staff,
notably Sandra Ritter, Doreen Carson,
Diane Lebold, Barbara Feldman, Joyce
Wetmore and Steve Beats. I also must
give special thanks to Elizabeth Deal,
who is not a Commodore employee, but
is an avid PET user and super 6502 pro-
gi'ammer. Liz lives near West Chester,
and graciously played host to Clif, Fred,
and myself after most of our many
meetings with Commodore. Meanwhile.
Dr. Daniel Kuntz, who was heading the
educational software division, had gotten
an appointment to the council of the new-
ly formed Young Astronauts Program in
Washington, DC. Much to our delight,
Dan recommended and got acceptance of
Sky Travel (the final name chosen for the
product by Commodore) as officially ap-
proved software for the program — the
first one to get such approval. After
seemingly endless delays, the product
was officially launched in late December
1984, just too late to have any impact for
the Christmas season.
The story is not over. Commodore ap-
pears to be trapped in a vicious circle in
the software area: they deal mainly with
distributors who, in turn, bring the pro-
ducts into the retail stores. The catch is
this: Commodore software has (to put it
mildly) not always been of top quality,
and many distributors have gotten stuck
with piles of marginally saleable Com-
modore products. Distributors were not
exactly jumping to carry Sky Travel,
since it was to them an unknown. People
who wanted it couldn't get it because it
wasn't appearing in the stores. Worse
yet, the very existence of Sky Travel
seemed to be a carefully guarded secret.
It seems a Commodore software product
has to already be a success before it can
be a success!
We have now reached the present, and
the apparent paradox shows some signs
of being alleviated, since the appearance
of an excellent review article and back
cover ad in the April Commodore
magazine. Was it worth all the effort?
Remember, we are now close to two
years since the start of the programming
effort, and much of the time was spent
in hard work. Fred, Clif and I put our all
into making Sky Travel as complete and
user-friendly as possible: the INFORM
text occupies over 400 blocks on the disk,
the program itself utilizes over 60K of the
64K RAM space of the C-64, not counting
overlays, and the manual is well over 100
pages long. As of this writing (April
1985), the answer is: definitely not! The
rewards have been minuscule compared
to the effort up to the present time.
However, the story goes on, and we may
eventually see our claim come true — that
even people only casually interested in
what's in the sky will want Sky Travel.
Remember. . . the comet is comnfir.'D
THE ULTIMATE SIMULATION
^^-^^ THE GAME '
Version II
For The 64
• Impressive Graphics
With Hi-Res Features
• Realistic Sound
• Stratef-jic ThouJ,ht Involvement
• The Only Game That Parallels
The T.V. Series And Movie.?
t: K L A N D
Dept. A
P.O. Box 1324
Meaford, Ont.
NOH lYo, Canada
(519) 538-1758
SOFTWARE (D.sk Only)
$21.95 Cdn. $19.95 U.S.
OnT. Residenis Add 7% Provincial Sales Tax
Please Moke Cheque Or Money Order Payable
To Dove Neale
Dealer Inquiries Invited
Even Spock Would
Find It Challenging
24 TPUG Magazine
Expand
Past
Maximum
Capacity!
The Tech/News Jounai For Commodore Comoiefs
At better book stores everywhere! Or 6 issues delivered to your door
lor just $15.00 (Overseas $21 U.S. Air Mail $40 U.S.)
The Transactor. 500 Steeles Ave. Milton, Ontario. L9T 3P7.
416 876-4741 From Toronto; 626 1662
Atso check out The Transactor Disk and The Complete Commodore
Inner Space Anthology - to us, expansion knows no limits!
PROTECT YOUR COMPUTER
COVER IT
Covers For Ail Makes and Models of
Commodore Products
Set of Three (Keyboard. Disk Drive and Monitor) $17.50
Standard Size Printer Covers $9.50
Large Carriage Printer Covers Si 1 -50
Pets and Double Drive Covers S9.50
Cal For Prices on Specials
We Ship Prepaid On Cash. M C or Visa Orders
By Phone Or Mall
NAME.
STREET
CITY
PROV.
PC
MC
VISA
NUMBER
SIGNATURE
C. P. U. ELECTRONIC SYSTEMS CORP.
2652 SLOUGH ST..
MISSISSAUGA, ONT, L4T3T2
TELEPHONE (416)- 677- 8200
special prices for schools and dealers
TORONTO COMPUTES! A monthly tabloid paper keeping its readers up to
date on the local micro scene • Widest circulation of any computer publication in
the Toronto area • For all users from the enthusiast to the novice • Topical coverage
of recent developments and events.
LOOK FOR
BUYER'S GUIDE
SPECIAL ISSUE
IN THE FALL
If you're in the micro business and we
liaven't been in touch wWh you, please
give us a call. 694-0303.
3 Massey Square, Suite 201 , Toronto
M4C 5L5
TO GET A SUBSCRIPTION TO
TORONTO COMPUTES!
(until next month)
1 Please sijin me up as a charter siiliM'rilier to the biauesL host, mos^i com- |
1 prchcnsive consumcrMjriL-rKfd luhloid for micnK'onipulcf user-; in 1
1 Tdfonco. I LMicIoNC S8. 1
! Vtidress . . . . ^ . , , , 1
! (Jptinnal: Totonio Computes^ MouJd iipprccbiTc nn^^crv ui Hiv |(iII<iHin)i:
1 Do you ust- ii at home oral work?
1 Mail to: ToronU) CompulesI . ^ ~ ' i
1 J Massey Square, Suite 201
1 Toronlo. Onlario M4C 51.5 1
[ Chf^iie iir monc> order only, pnyable lo "CorilcM PublishLnji". ■
A Begiimer's BBS Guide: Part Three
by Ian A. Wright
Bulletin boarding has become very
popular in recent months, and modems
are among the hottest-sellhig peripherals.
To some extent, this popularity results
from, a midti-med.ia blitz cavsed by stories
about 'hackers ' presented in the movies,
on television and in print. Real telecom-
7nunication. hoiuever, is an enjoyable and
often very iiseful activity, not — as the
media often portray it — a solitai'y ajtd
destructive one. In the first tivo arti4:les
of this series, Ian Wright discussed some
of the Mses of bulletin boards, and. how to
logon and read, messages and bulletins.
Now he explains the procedures for enter-
ing messages, and for uploading and
downloading, iising examples from
TPUG's ovm Bulletin Board System
(BBS). Since the download function is not
fully supported by the club's board. Ian
uses the Bradley Brothers' Bulletin Board
System (BBBBS) for examples of that
p?'ocess.
The Message Editor
The story is that Steve Punter, while
working on the earliest version of his text
editor, decided to test it in his BBS pro-
gram. I don't believe it, because Word-
Pro is far superior to the adequate but
annoying line editor of the BBS.
Entering a message to another BBS
user or to all involves typing the letter
E at the command > prompt, and
following directions. The difficult part,
for most users, is the use of the built-in
editing functions. The message editor
works after you have typed in your
material — so don't format your message
neatly as you enter it. Typos, spelling and
grammatical errors should be checked by
selecting F to preview your message from
line one to the end. Correct your errors
using List, Continue, Replace, Edit line,
Insert or Delete line, and place Paragraph
marker. Finally Send your message to
the BBS disk when it's correct.
Entering a single space, followed by a
carriage return, will leave a blank line
between paragraphs as you enter your
message, making it easier to read. Please
use upper/lower case if your terminal sup-
ports it — it's much more pleasant for
tired eyes at 3:00 am. The BBS will
automatically add your name to the end
of your message (no anonymity!) — but
it's good form to sign off anyway.
Until you select S to send your
message, you can continue to enter or
correct it. You can delete any message
you sent by tj^ping DM at the command
> prompt, if necessary. Messages sent
to you can be deleted each time you sign
off the board, and this helps clear the clut-
ter of old messages.
Some terminal programs allow you to
compose a message while off-line (in your
word processor), and then upload it
directly from disk just as if you had typed
it in live. A few terminal programs have
an 'editor' function that will allow you to
compose the message and edit it, using
full-screen editing, while you are still on-
line, then switch to terminal mode and
send it.
Private messages are 'restricted' so
that only the sender, receiver and SYSOP
can view them — all others cannot. Note
that the SYSOP can read everything in
all sections of the board. This is a check
on illicit activities — it is not an invasion
of privacy. The TPUG SYSOPs have
seldom had to deal with problems such as
illegal trading of copyright software,
abusive language or illicit operations,
because they delete any offender from the
user list. You are given one free error —
one warning should be enough. TPUG's
BBS has a spotless record, because each
of our SYSOPs has taken his respon-
sibilities seriously.
Uploading
TPUG's BBS does allow uploading of
material to the office, so that (for in-
stance) you can send a program to the
various librarians, for inclusion on a mon-
thly disk. The process of sending a file to
the BBS is simple, but many novices find
it confusing at the start because it in-
volves 'protocol'.
Protocol refers to a process of sending,
receiving and checking data transmis-
sions between computers. As most of you
are aware, an IBM computer will not run
Commodore programs, because the two
machines 'don't speak the same
language'. Even their BASICs are dif-
ferent. Many BBSs use a common
128-character code called ASCII to
transmit text files between dissimilar
machines. Common protocols include
Punter Cl , Vidtex B, X-Modem and ,img.
Each involves a different method of
transmitting information between
computers.
TPUG's BBS still uses the original
Punter protocol — it will send three
blocks of information (255 bytes each) per
Selected BBS Commands Continued
UP/DOWNLOADING
OTHER
LIST
show available programs
E leave a message on BBS
LOAD
download a program
DM delete a message
SAVE
upload a program
CAT list message categories
STAT
save status variable
DUP change duplex
NEXT
continue message reading
EXP expert mode
DP
delete program (you must have the dele-
tion code) Send a 'start signal' by exiting
FWD reprint private message
from termmal mode to mam menu, select
receive/send a program and follow the
prompts of the terminal program.
Message editor: H = help, L = list,
R = replace/original/new/line #, S = send,
F = preview, E = edit, I = insert line,
P = paragraph, Space & Return = leave blank line
Note: TPUG BBS does not
support DOWNLOADING
26 TPUG Magazine
minute from your computer to TPUG's.
The usual speed of home telecommunica-
tions is 300 bps (bits per second) —
sometimes incorrectly called baud rate —
which is the same slow speed at which the
1541 disk drive operates. Up and
downloading is even slower. The delays
in the Punter protocol are a result of
careful checks for incomplete or inac-
curate transmissions, so Steve has
recently developed version CI for the
C-64, which is twice as fast and much
more accurate. Unfortunately, it does not
work with PET BBS systems like
TPUG's. (Since this airticle was written,
TPUG has in finct switched to a C-6J,
system using the new Punter protocol.
--Ed.)
Your terminal must support the pro-
tocol of the BBS you are using. You can't
upload to TPUG using a terminal pro-
gram that has only X-Modem protocol.
The selection of an appropriate terminal
program thus becomes a major problem.
Most BBSers have accumulated a number
of different terminal programs because
they cannot find one terminal program
that does it all. I have seven!
The only tricky part to uploading a pro-
gram, bulletin or message to TPUG's
BBS comes when you are asked for the
'start signal', after tjiping SAVE, and
entering the file name. The start signal
can be sent only by exiting from terminal
mode, going to the main terminal menu,
and then selecting the option that lets you
upload (or send or transmit) a file.
Depending on your terminal, you may be
asked to give the filename again and to
tell the terminal whether the file to be
uploaded is a program, a sequential file
or a WordPro file. You don't send any
start signal — your terminal program
does it for you.
As the file is sent, you should see a -
on the screen for each good block trans-
mitted, and a ; for blocks that were not
successfully sent. These bad blocks will
be retransmitted until acceptable, but a
general rule is that any five bad blocks
constitutes a questionable upload (or
download) and you should try again later.
Downloading
Since TPUG's BBS has elected to have
almost 700 users, the downloading sec-
tion has been removed from the club
board. I will describe downloading as it
applies to local Punter-protocol systems.
LIST is the command that will give you
a listing of programs available for down-
loading, allowing you to select from the
various menus that appear (pause/abort
works the same here as in the message
section). Not all files can be downloaded
by everyone. Sometimes files will be
uploaded with a password so that only
those with the password have access to
them. This is shown with a * beside the
name when you list the files. Write down
the name of your selection exactly as it
appears in the list. At the command >
prompt, type LOAD, and then the name
of your selection as prompted. Wait while
the BBS looks for the file. You'll see the
file name repeated, and the estimated
time of transmission (how long it will take
to download the data).
At this point you can abort the
download (use SHIFT-A) or send a start
signal The start signal is the same as that
described above for uploading — with one
difference. Enter the name of the file to
be written to disk as "0:filename" to
write to drive 0, even with a 1541 drive.
I have found that this eases the do^vnload
process greatly. At the end of a successful
download, you will see your name, the file
name, the blocks downloaded, and the
time.
Up/downloading from CompuServe,
DOW Jones, or the company VAX is no
different in principle to using a BBS, and
every attempt is made to ensure a simple
and accurate exchange of data. Elec-
tronic communication can be a doorway
to a whole new world of people and
events — try itl
In the next article, I will give some tips
on the selection of modems, terminal pro-
grams and phone lines for use in telecom-
municating. If you have any questions
please write to me c/o TPUG Magazine
- or send E-mail to TPUG Office on the
club BBS (416-782-9534). D
»<*!S*i
Important message to
The telephone number is:
(416) 782-9534
Operating hours:
24 hours per day
7 days per week
The password is . . .
MONO
JUST
MENTION
'THIS TPUG AD IN
YOUR ORDER, AND
DEDUCT 5% FROM THE
PRICES SHOWN BELOW!!!
MITEY MO
C-64 MODEM
WITH SMART-64
SOFTWARE
AND UPLOAD/
DOWNLOAD
Piug-in modem tor the
Commodore-64 incfiides^
evetylhing you need to
gel on-line loday! Access '
Bulletin Boards, eleclronic'
mail, data banks, games
and more Fealures easy-to-
use manual, menu-driven Smart-SA software, Aulo
Dial/Answer/ReDJar, 2BK bulfer. program
upload^dowriload. save lo dask, multiple baud rales,
VT'52MD0 emulaiion. help menus, grapiiics. X-modem
pTOiocol and more Includes software, cables, manuals
and FREE access to CompuServ! 3-year guaranlee En-
dorsefl by the U.S Commodofe Users Group as "the
best pricei'performance communications package
available". Don't settle tor less wlien you can have
■ MO ■, at' S139.95 postpaid. (Reg Sl59 95)
VIZASTAR
BRINGS LOTUS 1-2-3 POWER
TO YOUR COMMODORE-64!
MfM Shff t r
Forptat. tin, P
]f f
aw, Tonr
»i * e c » 1
K li»fs nH 1 in<
19CZ 1
I
K. t„„^., m.n
IJM?
"»>a
Kl. NIUI 312 4C
!1M)
4S id
i =
; e D E
H
tCi. li u:»;
t4.al: 1
R —
Sli.
Hi
_^m 1
Ib
-|
■
k
j—
! —
3
Anu^s! y;rt'fn dump primed by VIZASTAR
This ingenious UK program is sweeping North America'
Imagine a Spreadsheet, Graphics and Database pro-
gram all in one Vizastar, the "Lotus" of the C-G"; lealures
64,000 cell spreadsheet wiih up to 9 window overlays,
Uneybar/pie graph capability, and integrated database
Powerlul menu and executive fof aulomat-c operatjon
Compatible with most primers & word processors Com-
prehensive manual, backup disk and tutorial incredible
performance at S179.95 postpaid. {Reg 5lB9 95)
OTHER FAVOURITES
Fhghl Simulator II (D|
F-15 Strike Eagle' (D)
Solo Flight (D or T)
Kennedy Approach (D)
The Print Shop (D)
Bank Street Writer (D)
$54 95
$46 95
546 95
S46 95
S5B95
S5B9S
Hitchiker's Guide 10 Ihe Galaxy S49 95
SAM Soltware Voice Synthesizer (0) S69 95
Pinball Construction Set (D| $49 95
Spy Hunter (Can) S55.35
Academy 1FR Flight Simulator
Commodore 64 (D or T) $39.95
VIC-20 (CertI S49 95
Academy Trivia Plus (D) S39 95
Add S2 00 per shipmen! tor Other Fa./ourites" only (any
q[y ) lyian residents add 6% tax Include cheque. MO
(or card no . e)(piry date & signature (or VISA/Master-
Card). Ask for our FREE Soltware Catalogue I
THE SOFT WAREHOUSE
Dept. 33, Box 1983
S Winnipeg, Man.
R3C 3R3
June 1985 27
Not Just A Pretty Picture
100
110
120
130
140
150
160
170
130
190
200
£10
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
380
380
400
410
4E0
430
440
450
460
470
480
490
500
510
5E0
530
540
550
rem koala splii-ter by nicK sulliyan
i-f £.u = l goto 230
poke 251 ,peeK <55>: poke 55,0
poKe 252,peeK ':56) : poKe 56,96
c Ir J s.u = l
close l: open 1,8, 15, "10"
gosub 320
inpu-t "Koala file";K-f*
K-f*=chr*(l£9)+K-f*+"*"
open 2,8,0,Kf*! gosub 320: close £
load Kf$,8,l
print "change disKs, press return"
get a$: i-f a*<>"" goto £40
get a$: i-f a$<>chr*<13) goto 250
for i=l to 3: gosub 380: next i
poKe 55,peeK(e5n
poKe 5e,peeK(£5£)
cl r : end
rem checK error channel
inputtfl ,e ,e#,t ,s
if e<£0 then return
print "<doLin>disK error : " le J e$; t ;s
close £: close 1: goto 270
rem saMe a file
read a$: print "saving " a$ ".. ."
pr int#l ," 10" : gosub 3E0
open 2,8,2,a*+" ,p ,u " : gosub 320
read a: print#£,chr$';0);chr$<a>;
read a,b
for j =a to j +b
pr int»2,chr$<peeK (j ) );
next j
close £: return
rem hi -res (b it map)
data filel, 3£, £4576, 7998
rem low -res (video matrix)
data file£,<2 spaces >4, 32576, 993
rem colour memory
data files, 216, 33576, 399
Tlie DATA statements in lines 490. 520 and 550 of this program each contain four
items. The first /*■ afilenaw£, which you can r.hnngc to unit i/mtr oum taste. Th£
second is the page at which the file unU be loaded in memorij — muUiply this .
number try 256 to find t}w actual load address. You should change this number
only if you arc going to use bank switching as described in Ike article. The third
yiiiinber, which rep^-esents the start address of the data as loaded in the Koala-
Painter file, and the fourth number, ivhich represents the number of bytes to be
stored minus one. should not be ehanged.
by Dave Neale
The other day I was sitting in front of my
terminal wondering what sort of pro-
gramming I could do to change the looks
of one of my programs. I'd seen the multi-
colour hi-res creations that have come out
of the KoalaPainter program, and I
thought, "Why not use those pictures to
enhance programs?" After poking around
for a while, I found that it is a lot easier
than one might think.
The first step is understanding how
KoalaPainter stores all of the informa-
tion for a multicolour hi-res screen in one
40-block file. From the quick loader pro-
gram in the KoalaPainter manual, I
found that the 40 blocks include four sep-
arate data storage areas. The first 32
blocks are the actual bitmap data for the
hi-res screen . Next come two 4-block sec-
tions containing data for the video matrix
(low-res screen memory) and colour
memory areas respectively. These con-
tain colour information for the multi-
colour screen. The final byte of a Koala-
Painter file is the background screen
colour.
Before you start fooling around with
files you should ask yourself how you
want to use the hi-res picture. You could
put it in a loading program for a title
page, as I did in my Star Trekking pro-
gram, or use it as a background in some
sort of game that uses sprites. What you
choose will help you decide where to put
your files for their best usage.
If you just want to use one of your
KoalaPainter pictures on the screen and
not worry about video banking (we'll be
getting into that later), you have to solve
one little problem — that of splitting the
compound KoalaPainter file into three
files, each with its o\vn load address. Pro-
gram 1 (see box) accomplishes this task for
you. Make sure the disk with your Koala-
Painter picture is in the drive when you
run the program.
All that's left now is to load the files,
and to set up the video chip for multi-
colour hi-res graphics. See Program 2 for
an example of how to do this.
The first line of the loader should
always clear the screen and set the border
and background colours, so set them ac-
cording to the way the hi-res picture was
created. Remember that the LOAD com-
mand works differently in a program
than it does in direct mode — after a pro-
28 TPUG Magazine
grammed load, execution resumes at the
beginning of the program, not at the
statement following the LOAD command.
This is not a bug — it is designed to allow
the chaining of BASIC programs. The
function of the variable F in Program 2
is to dodge around lines that have already
been executed.
Before you load your file into the low-
res screen area, it's good practice to stop
the screen scan. That way you won't get
any garbage showing on the screen while
the load is in progress. Line 20 in Pro-
gram 2 accomplishes this.
Lines 60 through 80 tell the computer
to turn on multicolour hi-res mode, and
set the address for the hi-res map. Note
variable X in line 80, X is the offset within
the current 16K bank to the bitmap
storage area. Since we are loading our
bitmap to address 8192 (8K, hex 2000) we
set X equal to 8.
The graphics loads completed, we
switch the screen scan back on with line
90. Now — assuming the graphics screen
is a title page for another program — we
load the main program in with line 100.
Execution will begin with the first line of
that program as soon as the load is
complete.
It's that simple. Now all that's left is
to tell the VIC-II chip that you won't need
hi-res graphics after the load is finished.
Just start your main program with these
lines:
10 clr :pr in-t "<clr >":poKe
<£.pace >53£S0rbordc :
poKe 53281 rbacKc
30 poKe 532G5,peeK ([53265
)and233 : rem -turn off
<space >3.cr een scan
30 poKs 53265, peek <532e5
)andE£3:rem -turn off
<£pace>bit map graph!
cs
40 poKe 53272, (peeK (5327
£ )and24B)or4:rem res-e
t charac-ter data addr
ess
50 PoKe 53265, peeK (53265
>orl6:rem turn screen
<£pace>scari bacK on
60 rem start of main pro
gram
Creating a simple loader program is
fairly easy, but there can be a few
drawbacks. If the main program is longer
than 24 blocks, it will overrun the bitmap
data area, causing your picture to look . . .
a little different. There are two ways
around this. The first, video banking,
allows you to put the screen and bitmap
way up in Bank 3, well out of the way of
your main program. Since only Banks
and 2 have character images available,
you will have to create your owm
character set and store it somewhere in
that bank. The second method is reloca-
tion of the start of BASIC. Moving the
start of BASIC up to 16384 (hex 4000)
will give you 96 blocks of RAM to use,
with no risk of interference with the
bitmap.
Since it's an unfamiliar area to many,
let's take a quick look at the steps
necessary to switch video banks. With
four banks (16K each) to choose from, you
must find an area in one bank to hold your
bitmap data. The banks are numbered
to 3, with the default being bank 0. Here
is a chart showing the memory that each
bank occupies:
Bank Memory Range
3 49152-65536 (SCOOO-SFFFF)
2 32768-49151 {$8000-$BFFF)
1 16384-32767 ($4000-$7FFF)
0-16383 ($0000-$3FFF)
Since the VIC-II chip can only access
16K at a time, you will have to put the
low-res screen in the same bank as your
bitmap. After you've chosen the bank to
use, you switch it in by ORing a value into
the two low bits of Port A of CIA chip
#2. But first you should make sure that
these bits are set for output. Though this
is the default condition, better safe than
sorry. It only takes one line:
poKe 56578, peeK (56573)or
3:rem confirm port a set
<£pace>for output
Now change banks:
poke 56576, (peeK (5657G)
and252)or (3-banK ) :rem pe
rform banK switch
These two lines should be added to the
loader either before the data load or just
after. Also, the bank must be switched
back to the normal values before the main
program starts running; use these two
lines again in the added section of the
main program. Don't forget to set the
start address of each file to somewhere
in the bank you choose (by altering the
first number in the DATA statements of
Program 1).
With a little bit of practice, you can set
up the system to allow switching between
hi-res and low-res screens, or between
several hi-res screens for an even better
effect. The only drawback to screen bank-
ing comes when you want to use the ROM
image of the character data. Only Banks
and 2 have this image, and if you
wanted to use the Commodore characters
you would have to transfer them into the
bank you're using. Also, try to stay away
from putting a graphics area on top of
one of the ROM character images.
Assigning areas of memory for
graphics screens is an art as well as a
science, and there are tradeoffs involved.
With a bit of thought, you should be able
to come up with an arrangement that fits
the needs of your program. Luckily, col-
our memory never moves from its area
at 55296 (hex d800), and is accessible in
any bank, so there's nothing to worry
about there. Understanding graphics can
improve your programs and impress your
friends. Good tuck and happy
programming. D
f = i;pr int "<clr >" :poKe 53280 ,bord
,bacKc
f =2: poke 53265, peaK (53265) and 239:
f screen scan
f =3: load "bitmap data",S,i:
f =4: 1 oad "screen char data",S,l
f =5 : load "co 1 our ram data", 8,1
eeK (53265 )or34:rem set bit map gr
peek (53£70>andE£3)or 16:rem turn o
ur graphics
eeK(53£7£)or xsrem tell vie chip
e to find bitmap data
eeK (53£65)or 16:rem turn the scree
on
program" ,8,1
This program unli load the three files created by Program 1 into the wppropriate
areas of memory, then load and ■nm your main program. Remember to change
the duvtmy filenames in this program to theJilenaTnes you have chosen.
10
if f=0 then
c:poKe53£81
20
if f=l then
rem turn of
30
if f=2 then
40
if f=3 then
50
if f=4 then
60
poKe53£65,p
aphics on
70
PoKe53£70, (
n mu 1 1 i c 1 o
80
poKe53H7£,p
<space >uher
90
P0Ke53265,p
n scan bacK
100 load "main
June 1985 29
Micro Processes.
Keyboard Out
Joystick In
by Michael Quigley
Many games written for the VIC 20, and a few for the Com-
modore 64, use keys such as I, J, L, and M (up, left, right and
down), rather than a joystick, to move objects around on the
screen. I've always found this curious, since just about everyone
I know has a joystick.
Converting keyboard programs to joystick is not particularly
difficult — you just have to know what to look for. Most of these
programs use memory location 197 ('current key pressed') to
direct the cursor, rocket ship or whatever, around the screen.
Each key on the keyboard (except the logo key, the SHIFT keys,
CTRL and RESTORE) has a value in this location when it is
pressed. Type in the following two lines, type RUN and then
press some keys.
10 priirt peeK
£0 goto 10
<197)
Try typing I, J, L and M, and note the values. They should be
12, 20, 21 and 36 respectively on the VIC, and 33, 34, 42 and
36 for the C-64. Note that when no key is pressed, the value
is 64 on both machines.
Now comes the detective work. Look through your program
and try to find lines which are something like the following:
100 if peeKU37)=64 then,, [no input!
110 i-f peeK«:i37) = l£ then., [up]
i£0 i-f peeK ■; 137)=£0 then., [le-ft]
130 i-f peeK';i37)=£l then., [right]
140 if peeK<137)=36 then., [doun]
Since the results of pressing these keys vary from program to
program, the four example lines here are purposely left in-
complete. The first line, corresponding to 'no key pressed', may
or may not be present. Of course, some programs also allow
movement in only two directions, not four. In such cases, the
lines for horizontal or for vertical movement may also be miss-
ing. Another thing to watch for is if PEEK(197) is converted
earlier in the program to a numeric variable, for example:
P = PEEK(197). Then the lines above would read 100 IF P = 64
THEN.. .", and soon.
Now that you've found the place where keyboard inputs are
interpreted, what is the magic joystick formula to use? It's as
follows:
goto 10! rem vie £0 uersion
1 qq=37154!ql=3715l:q£=3715£
£ poKe qq, l£7:q=peeK<q£)andl£8
3 r0=-Cq=0)
4 poKeqq^£55:q=peeK (ql)
B4 uers-ion
5 d0=-( (qand8)=0)
G 10=-( (qandl6)=0)
7 u0=-((qand4)=0)
8 fb=-<(qand3£)=0)
9 return
goto 10: rem commodore
1 q=peeK (5G3£0>
£ r0 = <:<qand8)=0>
3 d0=C(qand£)=0)
4 10=C(qand4)=0)
5 u0=((qand n=0)
G fb=<(qandl6)=0)
7 return
This standard routine should be placed somewhere in your pro-
gram, preferably at the beginning to speed things up. The line
numbers can be changed if you wish. Notice that I have used
some variable names that suggest the direction they will take
— UO for 'up', Do for 'down', and so on. Be sure that none of
the variables in the joystick formula are the same as those
already in your program, otherwise things will get really messed
up!
Now go back to those lines you found earlier — the ones for
interpreting keyboard input. Make the following changes:
or 10 or d0 or r0 o
'no input
100 gosub 1 : if u0
r fb then 110
105 rem perform action for
110 if u0 then , . . [up]
1£0 if 10 then. . . [left]
130 if r0 then ... [r ight ]
140 if d0 then , . . [down ]
The new line 100 first GOSUBs to the joystick subroutine. If
a joystick input is made, it jumps to line 110, where the input
is decoded and acted upon. If nothing happens (the equivalent
of PEEK(197) = 64), then the 'no key pressed' routine, if any,
may be accessed in line 105.
In the last couple of examples, we've used a new variable, FB,
for 'fire button'. This input may not be needed, but if it is, the
process for making the conversion is analogous to the cases we
have already discussed.
Another way in which keyboard inputs are handled on the VIC
and C-64 is with a GET statement. Assuming we are using 'S'
for fire, T for up, 'J' for left, 'L' for right, and 'M' for down,
a typical keyboard checking routine might look like this:
100 get q$
110 if q*="s'' then 1000 [go to fire b
utton rout ine ]
1£0 if q*<>"i"andq*<>".j "andqtO"! "and
q*<>"m" then 300 [no input]
130 x=x + ":q$="j ")-(q$="l ) [determine h
orizontal direction]
140 y=y+(q*="i ")-(q*="m" ) [determine
<space >uert ical direction]
30 TPUG Magazine
Micro Processes:
Here's the same routine, converted for joystick operation:
100 gos.ub 1 [go to joys-ticK -formula]
110 i-f -fb then 1000 [go to fire butto
n rout ine ]
128 if u0+10+r0+d0=0 then 300 [no inp
ut3
130 x=>c + <10)-(r0) [determine horizont
al d irect ion ]
140 y =y + (u0) - (d0 ) [determine vertical
<space >d irect ion 3
I find using a joystick highly preferable to groping around the
keyboard, and if you're really lazy, there's yet another trick to
be learned. Instead of the usual keyboard input to rerun a
program:
100 print "pi ay again? Cy/n)"
110 get a*: i-f a*<>"y"and a*<>"n"thenl
10
120 if a$="n"then end
130 if a*="y"then run
try the following:
99 rem v ic £0
100 print "play again? press fire but
ton"
110 wait 37137,32
120 wait 37137,32,32
130 run
99 rerf^ commodore 64, port #1
100 print "play again? press fire but
ton"
110 wait 145,16
120 wait 145,16,16
130 run
99 rem commodore B4, port #2
100 print "play again? press fire but
ton"
110 wait 56464,16
120 uait 56464,16,16
130 run
With this routine, your hands need never leave your joystick,
except when you want to stop the game with
RUN/STOP-RESTORE! □
The Better Way
by Chris Johnson
Is there a better way to set off sections of a program in listings?
The usual method is to enclose REM statements in asterisks.
They take up a lot of space and they don't really stand out that
much.
A much better way is to put your REM statements in reverse
type: they really stand out, whether listed to the screen or to
a printer. Try it some time.
But how? The BASIC screen editor will strip out a reverse
video code from your REM, no matter how hard you try to fool
it. To get what we want, we'll have to bypass the screen editor
and poke the code (whose PET ASCII value is 18) directly into
BASIC program space, specifically into the byte following the
REM token.
The following program is a BASIC loader that will poke a
machine language routine into memory. A SYS to the location
of the routine will put your REMs into reverse at machine
language speed — that is, quickly!
The REM statements at the beginning can be your first test
of the routine. You cannot put REMs into reverse from the
keyboard, so when you have typed in this program (and have
saved it, to be on the safe side), run it and save a copy with
reversed REM statements.
The machine language itself can be put anywhere in memory
that you choose. Simply change the value of S in line 9. (C-64
utilities such as Power or Basic Aid use the cassette buffer as
a workspace, so 49152 might be a better location.)
You can use this routine to put codes other than RVS into
your listings. If you wanted the comments to appear on a new
line, you could have the routine insert a 13 (carriage return) in-
stead of an 18 (RVS). Run the loader, then type POKE S + 81 ,13.
Now SYS to the starting location, and the text after your REM
statements will start a new line.
This loader was created with Datacheck (from TPUG
Magazine, May 1985), a program that creates a BASIC loader
with a checksum at the end of each line. If you make a mistake
in typing, the ehecksimi will catch it, stop the program and tell
you the number of the line containing the mistake. D
1
2
3
re
re
<1
re
re
ua
re
5
6
7
8
9
10
11
12
re
re
re
<1
re
s
f
f
n
i
<
1
c
P
e
P
r
P
13
14
15
16
17 s
828
836
844
paces >:
m<2 spaces >h ighl ight your rems
2 spaces > :
m<33 spaces >: '
m<2 spaces >to change machine lang
9e<5 spaces):
rfi<2 spaces >1 oc at ion , change walue
pace>of '£'<2 spaces):
m<£ spaces >in line 9<2£ spaces):
m<33 spaces >:
m<2 spaces >by chris Johnson
5 spaces > :
m<33 spaces >!
= 828
ori= £ to i + 95 step8
or.j =0to7:reada : poKe ■; i+.j ) ,a :c=c +a!
ext.j:read cs
f c< >cithenpr int "<2 dDun>error in
space>l ina"; i:forz=lto25:a=ab£Ca-
5) :poKe54296,a:next :stop
=0:next i
rint "<clr><7 down) to put reyers
rems into your program,
rint tab (6) "<douin>load your prog
am and type :
rint tab CIS) "<douin >sy£" s "
6 down)"
nd
data<2 £paces>165, 43, 56, 233, 1
, 133, 25, 165, 821
data<£ spaces)44, £33, 0, 133, 26
, 169, 0, 141, 746
data<£ 5paces.)153, 3, 1R0, 5, £30
, 25, 208, 2, 786 i
June 1985 31
Micro Processesj
852 data<£ spacer >£30, £6.. 136, E0S ,
<ipare>e47, 1S0, 0, 177, 1134
860 d*i:a<£ spacas>£5, £08, 1£, £33, 1
53, 3, 173, 153, 965
868 d3.-t:a<£ spaces >3, £01, 3, £40, 47,
<s.pace>£08, ££7, 140, 1069
876 data<£ spaces >153, 3, £01, 143, £
40, £, £08, £8, 878
8S4 data<£ spaces >165, £5, £4, 185, 1
, 133, £7, 165, 645
S3£ dai:a<£ spaces >£G, 105, 0, 133, £S
, 160, 0, 177, 6£9
900 da-ta<£ spaces >£7, £08, 5, £33, 15
3, 3, £03, 4, 846
308 da-l:a<£ spaces) 168, 18, 145, £7, £
30, £5, £08, 187, 1019
916 data<£ spaces >£30, £6, £08, 133,
<space>8G, 0, 0, 0, 753
3£0 rem\£ spaces >'jers ion 3, 1£ may IS
85 < 7 spaces > :
INTERFACE
shield
12-wayO 156"
double-Elded
edge connecior
12-wayO 156'
double-sided
edge connector
Talking to
Other VICs
by Mark Hookins
Is your VIC 20 feeling a bit lonely? Teach it to talk to other VIC
20s, using a simple program and a couple of connectors!
The interface described below makes use of the RS 232 com-
munication facility provided on all VIC 20s. However, you do
Twt need the RS 232 cartridge in order to make it work.
Things you will need
In order to try this experiment, you will need two 12-pin
double-sided 0.156" edge connectors, a metre or two of figure
8 shielded cable, and — of course! — a second VIC 20, These
are cheap enough now that everyone can afford two, but if you
can't, talk a friend into bringing his or hers.
What to do
Wire the connectors exactly as shown below, then carefully plug
one into the user port on the left-hand side of each VIC 20,
Next, tj'pe the following program into each computer, and then
SAVE it on tape or disk (be careful to include the semicolons
at the end of lines 130 and 160):
100
1 10
1£0
130
140
150
160
170
open £,£,0,chrf (6)+chr*< 1G0>
get m$
140
i-f m$="" then
pr- irit#E ,rn*.!
9ettt£,y*
if >■$="" -then 170
pr int y'$f
gc-tc 110
Now RUN the program on both computers. It doesn't seem
to do much, does it? Well, try pressing some keys on one com-
puter: do they appear on the screen of the other? To get
characters to appear on your screen, you'll have to t\^e them
on the keyboard of the other VIC 20' Confused yet?
32 TPUG Magazine
This is like a telephone, only you read the other person's
words, instead of listening to them.
You could increase the length of the interface cable to several
metres and have the VIC 20s in different rooms (a computer
'intercom'!)
With this sel-up, you can also try the following. Press
RUN/STOP on one computer only, and type in this line (no line
number necessary):
cmd4 : 1 ist
Now hit RETURN, and watch the screen of the other VIC 20.
You should see the listing appear on the screen.
To make the listing appear on your screen, type the follow-
ing line (again, use no line number):
pr in-t**£
Now hit RETURN. Then type LIST, and the listing will appear
on your screen.
Program Explanation
For those of you who are interested, here is a brief explanation
of how the program works.
Line 100 opens a channel to the RS 232 port (device 2), set-
ting the format and baud rate. In Line HO, a character is fetched
from the keyboard and printed to the RS 232 port by Line 130
(if it is not a null character). Line 140 fetches a character from
the RS 232 port and Line 160 prints it to the screen (if it is not
null). The process repeats for further characters.
For those of you who want to know more about the RS 232
port ami files, the Programmer's Reference Guide (pages 251
to 2fi()) will prove useful. D
C-16 and Plus/4 library disks
Much of the Iriendliness oi the C-128 (see page 18) has been
available for some lime in the BASIC 3 5 on the C-16 and Plus/4.
Many programs in the TPUG library can be converted easily to run
on the C- 1 6 and Plus/4. If you have done this, please submit the
conversion to the TPUG library. We hope to announce at least one
combined C-16 and Plus/4 disk in the next issue of TPUG
magazine. Original programs are encouraged, too. of course.
Chrts and Colin Johnson. C-16 and Plus/4 librarians
COMAL
REFERENCE GUIDE
Sixty-four pages outlining all the C64 COMAL
keywords, with sections on the language's superb
String Handling, Procedures and Parameters,
Expressions and Standard Functions. $9.95
; COMAL
by Dorge R. Christensen
With it terewoid by im fkJtterfieW
Send cheque or money order to:
TPUGInc, Dept. A., 1912 Avenue Rd., Ste. 1,
Toronto, Canada M5M 4A1
NEW FOR HIGH SCHOOL
ADMINISTRATORS
IF A STUDENT WANTS TO
CHANGE HIS TIMETABLE . .
CAN YOU DO IT?
y^^s
sov^'
K^\
The WYCOR Class Scheduling
System lets you:
Add new students, change existing timetables.
Checks all available classes, class sizes.
Displays 32 best timetables that minimize class sizes.
Lets YOU pick the timetable.
Prints the new timetable.
Updates class size.
Prepares a teachers change list.
Other reports available.
yS
WYCOR BUSINESS SYSTEMS
170 The Donway West, Suite 401
Toronto, Canada M3C 2G3
Tel. (416) 444-3492
QQ
Limited time offer
SSDD-$15.00/box
DSDD - $20.00/box
(Minimum purchase - 5. Delivery extra.)
Programmers Guild Products Ltd., 255 ManuLife Place, 10180-101 St.,
Edmonton, Alberta T5J 3S4 Phone: (403) 428-6229
Switch
to the highest
quality, lowest
priced brand name
diskettes available
in Canada.
Q. Who has switched?
A. Professional and educational
institutions, national accounting
firms, major engineering firms,
software houses, computer
retailers and the Toronto Pet
Users Group.
(MattwCardj
Library Additions.
TPUG's library of public domain soft-
ware groivs month by month. Hundreds
of disks containing thousands of pro-
grams are available to TPUG members at
the nominal cost of ten dollars per disk.
Considering that each disk is packed xoith
good programs, at today's software prices
this is a fantastic value.
In order for the library to keep grow-
ing, our librarians need a constant supply
of new programs. If you have written a
program or a collection of programs that
you think might be an asset to the libi-ary,
please send it to: TPUG Program
Library, 1912A Avenue Road, Suite 1,
Toronto, Ontario MoM 4.AI, Canada. If
yom' contribution is accepted you will be
sent the library disk of your choice.
Commodore 64 April
Disk: (C)TI
This disk has lots of interesting stuff. As
promised last issue, Directory
Assistance appears here, along with in-
structions. This program will let you do
just about anything you could ever want
to do to the directory of a disk. Remem-
ber, this is a freeware program, so please
send the author what he requested if you
like the program.
Adventure game fans vM enjoy Diplo-
mat's Dilemma, It, too, is freeware, and
is very challenging. I have played it for
a while, but I always seem to fall into a
pit or get captured.
There are a number of interesting disk
utilities as well. One allows you to search
an entire diskette for any combination of
characters; another will compare the con-
tents of two disks; another will allow you
to compare the contents of two files, I
think you'll find them useful.
A few months ago some local talent put
together quite a demo program. It plays
music, it manipulates sprites, and it does
a mean moon walk too! I could say more,
but this program must be experienced.
For you game players who have been
looking for a very different type of game,
Ghoul Dogs is here at last! Make sure you
read the instructions that have been in-
cluded on the disk or you will miss a lot
of what is going on.
Watch also for the adventure game
disk, (C)GG. which should be out by the
time you read this. Anyone that even
slightly enjoys adventure games will want
it. Luckily I was able to get my only copy
away from TPUG's resident adventure
game enthusiast, Marya Miller, and get
it to the copying complex before she had
worn the disk out.
By the way, I recently met a very inter-
esting TPUG member from Burnaby,
British Columbia. I was out there watch-
ing the National 5 Pin Championships,
and he happened to work at the alley that
I was hanging around. It turns out that
he has developed some very interesting
software to keep track of bowling league
statistics. If this application interests you,
feel free to write to: Doug Jewell, c/o
Lougheed Lanes, 4199 Lougheed HWY,
Burnaby BC, V5C 3Y6.
The re-organization of the older disks
is coming along and should be finished in
time for the conference — which will be
over by the time your read this. Watch
future editions of the magazine for details
about these new disks.
Presented by David Bradley
PET April Disk: (P)TI
This disk features several educational
programs with a geological flavour. Geo-
Weather is a geographic weather quiz;
Marine Erosion uses graphics to model
shoreline erosion; and Open Pit Mine is
a game in which you try to open pit mine
the Athabasca oil sands. This game in-
cludes cave-ins, floods, and other prob-
lems, such as pollution costs.
Business programs this month include
Graph SprintSO, a utility for drawing and
editing graphs on your MT Sprint 80
printer; Loan Payments v2.8, a program
to calculate interest paid and current
balance under non-uniform pajTnent
schedules; and Receipts. 8, a program to
print and record customer deposits.
Those whose printers have program-
mable character and image buffers will
be able to define their own character sets
with Printer Char.8, while FX-80
Fonts.8 will help in setting up print con-
trol codes and selecting print fonts on the
Epson FX-80 printer. With TapeLabler
you will have a convenient way to print
cassette tape content lists.
Two specialized utilities for specialized
people are Guitar Frets, for calculating
fret positions when you're setting up your
own guitar; and Payload V2, which
assists you in calculating the fuel con-
sumption and flying time with reserve of
your airplane. And when you're finished
with those jobs, why not take a break
with Groan, a game in which you roll dice
against the PET,
Once again om- monthly disk has a free-
ware offering. This one is called Archi-
iiiedes. It's a set of programs, for junior
high school teachers, dealing with Archi-
medes principle. Six lessons are includ-
ed. They can be run on either the
PET/CBM computers or the Commodore
64. Complete instructions and a teachers'
guide will also be found on the disk, along
with a message from the author.
Presented by Mike Donegan D
Marketplace
COMPUTER RENTALS
We buy, trade, sell and repair Com-
modore computers.
1541 alignment
$ 39-00
Power for CBM
$ 75
Box of 10 disks
% 15.99
4040 or 8050 Drive
S995.00
MSD Dual Drive
S799.00
WordPro 4+ for CBM
$125
Visicalc for CBM
SI 50.00
• Database Manager for CBM $150.00
COMPUTER RENTALS
250 Consumers Rd., Suite 101
Willow/dale, Ontario M2J 4V6
Tel; (416) 495-0035
Attention Educators!
If you have developed quality educalional
software, but Ituve neither (he liii!e./ior iii-
clinaiion for production and marketing, —
WE CAN ASSIST YOU!
Our catalogue, consisting exclusively of
educational software, is distributed to
libraries, schools and Boards of Education
ihrougtiout Canada.
Contact us for more information.
TRALCO
EDUCATIONAL
b'^ SOFTWARE
lion I-. thuiiilloii. Oniario t')C 5.S.1
(416) .1R3-|()7S
34 TPUG Magazine
416-782-9252
Name_
Street Address .
City/Town/P.O. .
Province/ State
Postal/ZIP Code
SOFTWARE ORDER FORM
TORONTO PET USERS GROUP
1912A Avenue Road, Suite 1
Toronto, Ontario
M5M 4A1
^ Membership No.
416-782-8900
_ Telephone
DISKS
To order club disks by mail, send $10.00 for each 4040/2031/1540/1541 disk (4040 format), and $12.00 for
each 8050/8250 disk {8050 format). We do honour purchase orders from school boards.
These disks are for use with a computer and a disk drive.
Please send me the following:
3 Letter/No. 4040 or 8050
Code Description Format Price
Total
.00
TAPES
To order VIC 20 or Commodore 64 library tapes, send $6.00 for each tape.
To order PET/CBM or Commodore Educational Software, send $10.00 for each tape
These tapes are for use with a
If for a PET computer, what model
3 Letter/No.
Code
Description
computer and a datasette.
- BASIC- 1.0( ), 2.0( ), 4.0( )?
Price
Total
.00
The prices indicated include postage and handling as well as Ontario Provincial Sales Tax (if applicable).
D Cheque/money order enclosed (payable to TPUG) □ VisayMastercard #
Expiry date Signature
Reviews.
Flexidraw 4.0
and Flexifont
from Inkwell Systems
Light pen and
associated software
for Commodore 64
Review by Dave Neale
Flexidraw, the interactive light pen and
software package by Inkwell Systems of
San Diego, opens up a whole new area of
graphics for the Commodore 64. Flex-
idraw combines simplicity with state of
the art hardware to produce superb high
resolution pictures.
When I first saw what Flexidraw was
capable of doing, I thought that it would
take quite a while to pick up some of the
advanced features of the system. I
couldn't have been further off track.
Flexidraw comes with the best documen-
tation I have ever seen for any piece of
hardware or software. The 64 pages of
the manual are filled with simple and easi-
ly read explanations, as well as detailed
pictures of almost every function of the
system. The Table of Contents is com-
prehensive, allowing you to zero in on any
area of confusion. A glossary of terms
rounds out the manual nicely.
The Flexidraw Master Disk is double-
sided, and contains several graphic
manipulation programs. These include
Flexidraw 4.0, the main drawing and
design program; Pen Palette, for coloui--
ing Flexidraw creations; Transgraph,
for transmitting Flexidraw files via
modem; Sprite Editor; Sprite Animator;
Display Picture, a printer dump pro-
gram; and Follow Me, a game.
The main program, Flexidraw 4.0,
di%'ides the screen into two areas: the
Work Area and the Menu. Unlike other
systems where you have to switch back
and forth between screens to change
modes, Flexidraw neatly packs
everything onto one screen. The package
of commands or modes available allows
you to do virtually anything with the stan-
dard hi-res screen. Thanks to a 'djTiamic'
menu system, only the currently ap-
propriate modes are displayed. The many
options include: Pixel, Grid, Draw, Point,
Rubber. Sketch, Spray, Arc, Circle,
Ellipse, Box, Line, Invert, Crosshair,
Zoom, Fill, Shade, Copy, Paste, Test,
With, Over, Rotate and Flip.
Many options are powerful and im-
aginative. Grid, for example, allows
shapes and text to be placed only at
character block locations, which makes
neat design work much easier. Rubber
mode creates a rubber-banding effect
between two points on the screen. This
lets you move the free end of the line
around the screen till you find the posi-
tioning you want. Sketch produces a con-
tinuous line, while Spray activates only
the occasional pixel, allowing you to use
the light pen as an airbrush. Crosshair is
important if you want images to line up
across the screen, horizontally or vertical-
ly. Copy and Paste allow you to move a
block of the screen from one position to
another.
As with most systems, two work areas
are available at a time. Flexidraw goes
one better, though, by allowing you to use
a split screen effect (horizontally or ver-
tically) to have the screens overlap one
another. This effect helps to produce one
large hi-res screen, which can then be car-
ried over to the printing option to allow
immff rv!^^ \i^^ I iRwtJca
iL%%«m m «■■■«■■■ ^la
imin BHJDCE: U55 EnTERFEVJSE
LOOKING TO PORT - LONGITUDIN^J.
you to produce a quality high resolution
printout of virtually any size. The Flex-
idraw Master Disk contains several
printer files, and I was told by a represen-
tative of Inkwell that they will create or
supply any file not presently available on
the disk.
Inkwell Systems has released another
program, for use with Flexidraw, to help
create custom fonts. Called Flexifont,
this utility is used with the light pen to
design your own fonts, special characters
or symbols. Included on the disk are
thirty-three different fonts. As with
Flexidraw, Flexifont's manual is very
well laid out, and there should be no dif-
ficulty getting to know the system.
I found the system extremely easy to
use. The only drawback I came across
was during the Zoojn mode. I found it
sometimes difficult to activate an in-
dividual pixel without simultaneously ac-
tivating others nearby, causing a bit of
frustration. This problem may have been
caused by static electricity; the Flex-
idraw manual does recommend wiping
the screen off occasionally with a damp
cloth to prevent the build-up of charge.
Flexidraw 4.0 and Flexifont are
available from:
Inkwell Systems
P.O. Box 85152 MB 290
7677 Ronson Road
San Diego, CA 92138
Telephone (619) 268-8792 D
Eduniate Light Pen
with
'Peripheral Vision'
drawing program
from Futurehouse
for Commodore 64
Review by Mike Martin
Copyright '■ 1983 Jftlike Martin
The Edumate Light Pen is an inexpen-
sive data input device that reads the
monitor and plots the position of the pen
against the screen. This makes it possible
to use the pen, in combination with
suitable software, as an alternative to the
keyboard or a joystick for interacting
with the computer. The device plugs into
joystick port 1.
36 TPUG Magazine
Revlewsj
The pen includes severai demonstration
programs that work quite well. They in-
clude a Menu program that uses the light
pen to select from your directory. Due to
the large boxes to aim the pen at, only
four programs are listed on the screen at
one time. Long directories seem even
longer. A Tic-Tac-Toe game is included,
a drawing program, and a simple, but im-
pressive musical scale program display-
ing about six octaves. Touching the spot
next to the note plays it, but no provision
is included for playing or saving actual
songs. A Disk Utility program is includ-
ed for using the light pen to scratch,
validate or format a disk. While all the
programs work well, their usefulness is
questionable. To use the pen, you touch
it to the screen, then hit either the Com-
modore or f7 key to activate the pen.
Most menu programs have you touch one
key to load the program anyway. I don't
see an advantage . , .
The light pen works with several
children's educational games, but is cur-
rently being marketed with a powerful
machine language art program. While the
art program is outstanding, the light pen
is more of a problem than an advantage.
Peripheral Vision is an icon-based draw-
ing program in which the icons, or pic-
tures, are accessed by the light pen. That
part works well. The drawing part has
problems. The sixteen colours are
displayed across the top of the screen.
Touch one with the light pen, and you
draw in that colour. Touch the brush
width on the bottom of the screen, and
cycle through six widths. Point the light
pen at the centre 'drawing pad' part of
the screen, and hold down the Com-
modore or f7 key to draw. But just try
drawing an accurate line or curve
freehand on the screen, Draw too fast,
and you will leave gaps. Even drawing
slowly will leave some gaps, as much as
half an inch in width. Matching up the
position of the pen to fill those gaps is
almost impossible. Luckily, you can touch
the Microscope icon, and magnify any
portion of the drawing eight times to
clean up the sketch pixel by pixel. In the
Microscope mode, the lines are wide
enough that you can draw fairly accurate-
ly, and scroll any direction using the cur-
sor keys.
Other icons on the bottom screen row
access disk load/save, print, mirror image
draw, sensitivity, move, shapes, fill, let-
tering and textures. The program will
plot squares, triangles, and almost-circles
for you. The fill feature includes a
safeguard. If the area is not totally
enclosed, it won't fill, but will indicate
where the fill would leak out. You then
use the microscope feature, and block the
opening. It plots lines — even jagged lines
— but if you try to use the same point for
another line, chances are you won't hit
very close to your target. You can use all
the letters, numbers, and Commodore
graphics characters, but you must cycle
through the entire set to find the one you
want, then use the light pen to position
the letter and hit the Commodore or f7
key. How accurate is your spacing and
alignment? You can't reach any of the
characters through the keyboard. And
the manual warns that when you save a
drawing, you are limited to 8 characters
in the title, and the program doesn't read
the z,c,b and m keys.
Probably the most interesting and
useful feature offered is the Texture icon.
Point to this, and cycle through 35 tex-
tures. You can use them to fill a shape,
or draw with them in the six standard
brush widths. The textures are a set size
and spacing, but include provisions for
creating up to six of your own at a time,
and saving them to disk. You don't ac-
tually draw the tex-tures, but reveal them,
so multiple strokes of the brush will con-
tinue the pattern from the previous
stroke, not create a new strip. Brushing
a second texture over the same spot
won't combine the two, but the new tex-
ture will replace that portion of the first
one. The textures include things like
pinstripe lines either horizontal or ver-
tical, bricks, cross-hatch lines, dots, and
fabric-like textures. They are beautiful,
and even offer the choice of a primary
and secondary colour against the
background colour. One interesting effect
demonstrated by the program is cross-
hatch white lines against a blue sky, pro-
viding very effective clouds. This is a
medium-resolution program using Com-
modore's multicolour mode, which offers
more colour but less resolution than stan-
dard hi-res mode.
Besides the accuracy and placement
problems, the plastic light pen has a
shielding problem. Static electricity nor-
mally found on your screen will be picked
up by the pen, and cause strange effects.
Every third or fourth line 1 drew would
include a spike. While drawing across the
screen, suddenly the line would zip up
about ten centimetres, and back down,
continuing with my line. I can't begin to
describe the feeling this gives about the
fifth drawing it ruins. The manual is brief,
and not very detailed. Instructions are
included for using the drawings in your
own games and programs.
Given all the problems, I find that this
program is more like a set of 'High-tech
Crayons' than a serious drawing pro-
gram. This is a pity, since the actual pro-
gram is brilliant. Its only flaws are caus-
ed by the light pen. If only Futurehouse
would include the provision of using a
joystick and cursor along with the light
pen, it would have a real winner. D
Write Now!
from Cardco
Word
for
processing program
the Commodore 64
Review by Michael Quigley
Gardco's Write Now! 64 word processor
is very similar to their like-named pro-
gram for the VIC 20, which I reviewed
in the May 1984 issue.
Some improvements have been made,
including:
• An Insert Mode, which makes it much
easier to put copy in the middle of
previously typed text.
• An 80-column pre\iew mode, useful for
correcting errors in formatting before
text is sent to the printer.
• The choice of four different screen/text
colour combinations.
• The ability to generate multiple copies.
• A 'mail merge' feature that allows you
to generate form letters with different
names, addresses, etc.
• A non-destructive directory that pauses
with the CTRL key.
• Four 'help' screens listing most of the
program's formatting commands.
Some of the VIC 20 version's features
have not undergone a successful trans-
ition. The joystick is supposed to be able
to scroll copy, but it doesn't work in
either C-64 port. Copy is saved with func-
tion key F3, and loaded with F4, which
can lead to disaster. And the program's
tab positions are only across the
40-column width of the screen.
There are a few bugs, as well. A line
beginning with a period won't be printed,
because the program recognizes it as a
'dot command', used for sending special
information to the printer. The at-sign
{'@') should not be used when saving copy
to tape, since it is used as an end-of-file
marker, and any copy after it will be lost.
And, when using tape, prompt messages
sometimes don't appear, since they are
the same colour as the screen.
These problems aside, Write Now! 64
is easy to use, has excellent recovery from
operator errors and is reasonably friend-
ly. Like the VIC 20 version, I recommend
it for the user who needs a good 'basic'
word processor. D
June 1985 37
Revlewsj
HomePak
from Batteries Included
integrated word processirng,
data base management
and communications
package for Commodore 64
Review by John Easton
HomePak, by Russ Wetmore, Star
Systems Software, Florida. Price: $49.95
(US), $69.95 (Cdn.)
HomePak, the latest of Batteries' grow-
ing list of 'homeware' (for a growing list
of computers), is a remarkably powerful,
unusually 'friendly' package — combin-
ing at a reasonable price three of the
most-used home-computer applications.
There is no spreadsheet in the package,
perhaps because one is available in
another fine Batteries Included release,
CalKit.
Since HomePak is aimed to a great ex-
tent at the 'beginning home user', I de-
cided that there was no better way to test
it than on my fearless (sounds safer than
'computer klutz') wife, Muriel. Until we
got an SX 64, Muriel hadn't really shown
much interest in computers at all. Now
she's trying her hand at Data Base
Management, courtesy of HomePak.
HomePak is user friendly (perhaps
even idiot friendly), and well-documented
with over 60 pages of text and illustra-
tions. The documentation makes easy
reading, and tutorials lead one painlessly
through the various packages. Well,
almosl painlessly. Muriel had a dickens
of a time trying to find keys labelled (as
the text indkated) CTRL B and COM +
(remember, she's a real novice) and I left
her absolutely alone to make this a fair
test. Finally, once I translated those cryp-
tic labels, she was away.
HomeText, the word processor, is
definitely not PaperClip, but for simple
use and handy help windows, it certainly
is friendly. HomeText files are saved in
a non-standard format, but a utility pro-
gram is supplied that will translate the
files to ASCII or PET ASCII, and vice
versa. This should ensure compatibility
with nearly all other word processors.
Screen formatting is fun to watch. In-
stead of wrapping around the right
screen margin, lines are broken at a word
boundary for easier reading. And speak-
ing of screen formatting, should one
desire to get some idea of the ultimate
printer output, page by page output to
the screen (in hi-res dots and dashes) will
provide a vague picture of how the text
will look when it finally is sent to paper.
Text is stored in a 13,728 byte buffer,
which compares quite favourably with the
capabilities of most other C-64 word
processors.
HomeFind is a very unusual, query-
oriented data base manager. Those used
to 'proper' DEM programs will find this
one maddeningly slow, but for my wife
— who up to now had thought DBMS was
a new type of toothpaste — it makes ab-
solute sense. It operates almost like the
venerable Animal guessing game, in that
as you tell it new information, it
remembers it — complete with friendly
questions and prompts.
Now, HomeFind obviously knows what
records, fields and keys are, but it never
lets on to the user. As a matter of fact,
it never discloses anything to the user
about its files — they seem to be private.
A directory of the data disk reveals only
its apparent emptiness — 664 Blocks
Free at all times — a mite dangerous
unless this disk is prominently identified.
A quick attempt to see what was really
on the disk gave me the strange reply
that it started at track 75. Not being into
Disk Doctoring, I leave it at that. It is
possible to make a readable (at least by
HomeText) file from within the program
— but this mainly gives one files linked
to query requests, perhaps useful for
something like merging addresses into a
form letter.
Let's look at how queries work. There
are three parts to every bit of informa-
tion one wishes to record. 'Subject' refers
to your main reference (and would pro-
bably form Key Field 1 in your average
DBMS); 'Tag' forms a linked reference to
your subject; and 'Object' is for whatever
information you wish to preserve that
pertains to the previous two. These three
parts cannot be more than 80 characters
each in length, and the entire record (oops
— make that 'line' or 'entry' — remember
this is a friendly program) cannot be
more than 144 characters.
How about an example — straight from
the manual? So you want to keep a list
of birthdays and other important stuff
about all of your friends?
We'll just start 'entering' the
information:
mike's birthday's april 18, 1958
mike's favourite colour's blue
mike's car's a honda
mike's phone's 929-9909 (home)
. . .and so on.
During each new entrj', your computer
will either confirm or deny that this is
"news to me!", allowing both corrections
and new information to be entered at ran-
dom. If, in the case of a correction, we
were to enter mike's favourite colour's
red, the computer replies with, mike's
favourite colour was blue, add or
change? a/c. At which time you may pro-
ceed accordingly, or simply touch
RETURN to abort the operation. Such in-
terchanges are encouraged by friendly
messages from the computer like never
mindl, and thanks!
Now, for information retrieval. Ask
who's mike?, and you'll get the whole
kaboodle back. Narrow it down to what's
mike's car?, and voila, mike's car's a
honda. You can even shorten queries to
single words: what's car's? or merely
car — and you'll get a complete list of all
the cars the machine knows about — in-
cluding mike's car's a honda.
Now, if you've been watching closely,
you'll notice the secret of these entries
— the magic delimiter is 's, which
sometimes tends to strange grammar,
but to Muriel's way of thinking is perfect-
ly sensible,
HoraeTerm is a very complete terminal
package, bilingual in ASCII and C-64
dialects, with built-in Vidtex (Com-
puServe) and X-Modem transfer pro-
tocols. Status displays, and even a real-
time clock, are constantly available for
reference, and a complete set of macro
commands is no more than a control key
away at all times. Of course, one may
upload or download programs or text via
built-in buffer transfer to disk or printer.
An added feature, which won't show its
real value til! you're involved in on-line
conferencing, is the ability to split the
screen, allowing incoming conference
messages to scroll merrily above you,
while you carefully compose a brilliant
reply in your own workspace. A very
complete introduction to using
HomeTerm on the CompuServe system
is included as an appendix.
Summing up, HomePak is a fine collec-
tion of useful and friendly programs! In
most cases, an entire help menu is no fur-
ther away than the nearest function key.
Now, if I could only get Muriel away from
the SX long enough to write this review!
Have I lost a computer or gained a wife?
Thanks to Batteries Included and Russ
Wetmore for a completely enjoyable
product!
PS: A (rumoured) minor bug in the
X-Modem transfer protocols (necessary
for most up/download of program files on
CP/M type boards and Delphi) has been
fully corrected by Russ Wetmore,
HomePak's author. If you have an early
version of HomeTerm, and have ex-
perienced difficulty, contact Batteries
Included (or this writer) for the 'real
stuff! n
38 TPUG Magazine
Rev lews J
Wiztype
from Sierra On-Line
Typing tutor
for the Commodore 64
Review by Marya Miller
Put it this way: this is the first typing
tutor of any nature that I have been able
to stick with. In other words, I have
finally learned to touch-tj^pe, after (blush)
ten years of business and literary
experience.
Years ago, I taught myself to type
using seven or eight fingers and
telepathy. I was pretty pleased with
myself at the time, but soon discovered
that I could never type faster than 45
words per minute, using this system. I
tried correspondence courses, night
school courses and manuals, in a
desperate attempt to learn to touch-type
properly, all with the same result: I soon
slipped back into my old seven-fingered
habits.
Then (as the commercials say) I
discovered Wiztype (lured by my enjoy-
ment of the Wizard of Id comic strips).
I can now touch-type at 60 words per
minute and climbing . . .
It's actually fun learning to tjTse with
the Wizard, the evil Spirit and Bung the
Jester to help you. The colour and
graphics are good, the sound effects very
appropriate, and the entire package
skilfully laid out and presented. Sierra
has put a lot of care into Wiztype, and
it has paid off.
Using Wiztype is more like playing a
very good game than learning a skill —
whether you are just practising drills,
words or paragraphs, or playing The
Game itself.
The Game is for real. Your score is
entered onto the disk each time you
tackle it, and every time you load Wiz-
tjTie, you see a graph showing your pro-
gress at The Game (and therefore your
progress at learning to touch-type).
There are lots of nice little extra
touches to this package. I'll only tell you
one, though, so you can have the fun of
finding out the others yourself. When you
successfully complete a level of The
Game, the Wizard and the Spirit tell each
other corny jokes — using cartoon
balloons, of course — while your score is
being put on disk.
Incentive, while learning with Wiz-
type? Well, for one thing, it doesn't do
you much good if you try to type using
any other system — it's set up so that
touch-typing is the best way to go. And
if you (shudder) fail to type in your words
correctly within the time limit (while ch-ill-
ing or playing The Game), the Wizard
gets an agonized look on his face and the
Spirit begins to gloat . . . Oops. Within
seconds, the evil Spirit has promptly fi-ied
the Wizard to a little black heap of
cinders. Definitely fun.
Maybe if my typing teachers had been
able to fry me into a little black heap of
cinders, I'd have learned to touch-type
loiiLi; ago. I
Sky Travel
from Commodore
'Home Planetarium'
for Commodore 64
Review by Nick Sullivan
On May 28, in the year 585 BC, the war-
ring armies of Alyattes of Lydia and the
Mede Cyaxeres wtnessed a rare event —
a near total eclipse of the sun. As the
moon's shadow swept across the battle-
field, the frightened soldiers abandoned
the hostilities, and the warring kings
were compelled to make peace. Predic-
ting the eclipse also advanced the reputa-
tion of Thales of Miletus, the philosopher,
statesman, businessman and mathemati-
cian known in later years as one of the
Seven Wise Men of ancient Greece.
A couple of hours ago I travelled to the
Aegean for a quick look at the sky on that
fateful afternoon, and saw the eclipse for
myself. It was around five o'clock —
already the sun was nearing the horizon.
Soon after five, the moon began to en-
croach on the sun's disk, taking a small,
crescent bite from the sun's lower right
quarter. More and more of the sun was
covered from that point on, except for a
short time towards five thirty when the
motion of the eclipse appeared briefly to
reverse itself. The time of maximum
eclipse began some fifteen minutes later.
At this point, the sky was quite dark —
it was easy to imagine that Alyattes' and
Cyaxeres' men might been hampered in
skewering each other on account of
visibility, in addition to their superstitious
awe. Quite a long time later — fifteen or
twenty minutes, perhaps — the moon
began to slide off the sun's right shoulder,
and the sky gradually lightened again. By
six thirty or so, the show was over.
I do not know whether conditions were
actually dark enough in ancient Greece
for Thales and his contemporaries to view
the stars and planets while the eclipse
was in progress. I myself had no trouble
with the observational conditions, and I
was able to see at a glance that three
planets — Mercury, Mars and Jupiter —
were grouped very close together just a
little above the sun and to the south;
Saturn was somewhat higher in the sky,
but still nearby. Stranger still, the re-
maining four planets — Venus, Uranus,
Neptune and Pluto — were at the same
time huddled together in an even tighter
group about thirty degrees below the
horizon.
What do you need to take a journey
such as the one I have just described? A
time machine? A doctorate in math-
ematics? A planetarium?
Not any more. All you need nowadays
is a Commodore 64 system and an inex-
pensive program called Sky Travel, writ-
ten by Frank Covitz and Clif Ashcraft,
and distributed by Comm jdore.
We have all looked up at a starry sky
at some point in our lives, and felt awe
at the infinitude of stars, and the limitless
depths of the universe. Multiply that by
the vastness of time, from ten thousand
ye~'s before Christ to ten thousand years
after, and multiply that by the expanse
of the earth's surface. This is the territory
that Sky Travel brings home to your
Commodore 64.
It is a long and complicated program,
heavily computational, and the data files
in which it stores the universe occupy
most of a disk. The math required to
display and to scroll a hi-res screen full
of celestial bodies is frightening — the
sort of thing you would expect could only
be done by programmers who were half
computers themselves. Yet Sky Travel is
friendly, sometimes even witty.
You select (by cursoring around on a
Mercator map) your vantage point on the
Earth's surface, fine tuning the latitude
and longitude with on-screen readouts if
you desire. You choose your moment in
history — year, date and time of day —
with an easy-to-use numerical display. A
few seconds of calculation tick by, then
June 1985 39
Revlewsj
the sky appears.
The major constellations of stars are
marked with lines in the traditional way,
and their names are given, though you
can turn off the lines, the names or both,
with a couple of keystrokes. The planets
are shown as symbols, rather than star-
like dots of light, for easy identification,
but you can easily cancel that feature
also. If you want to see deep-space ob-
jects, such as other galaxies and nebulae,
you can call them up. If you want to find
a particular planet or constellation, it is
done in an instant. If you want informa-
tion about an object, it's yours in a mo-
ment. You can change the rate of passage
of time, or its direction. You can adjust
your viewing angle to suit your needs,
from wide angle to telescopic. There is a
chart mode, a printer option and a facili-
ty for tracking the planet of your choice
as it wanders through the sky.
And there is a fly in the ointment. 1 saw
Sky Travel, including the excellent
manual, on sale at a computer fair recent-
ly for twenty Canadian dollars. Unfor-
tunately, there were no copies remaining.
Nor, as far as I can te!l, is the program
yet available anj'^vhere in Canada, despite
its having been in Commodore's hands for
a full year. Now that Commodore seems
to have decided to give up the software
publishing business altogether, the future
of Sky Travel for the C-64 seems uncer-
tain. At the same computer fair, by the
way, the program was being
demonstrated for Atari under the name
of Home Planetarium.
Anyway, keep your eyes open. Sky
Travel could find its way into your
favourite computer store. If you are even
a little bit interested in astronomy, snap
it up. It is a unique program, and you
should have it. D
The COMAL
Handbook
(Second Edition)
by Len Lindsay
Reston Publishing Co.
467 Pages
Price: $25.95 (Cdn.)
Review by Donald Dalley
In the Commodore world, there are few
examples of legitimate copies of any pro-
gram spreading faster and more widely
than the COMAL 0.14 language has done.
The original 'COMAL SAMPLER' disk
for the C-64 is freely copyable; as a result,
most user group libraries include it. This
successful ploy teased thousands into at
least giving COMAL a chance. Within one
year, an enormous number of public do-
main programs were in circulation!
The first edition of the COMAL Hand-
t)ook, covering the earliest versions of the
language, was the main reference to
guide these ambitious programmers. This
edition was helpful, informative, and
necessary to read, but there were some
problems and additions requiring an up-
dated edition.
Two major differences stand out bet-
ween the two editions. The new book has
about a third more pages and the spine
is perfect-bound, instead of plastic-hinge-
bound. Two problems arise from the lat-
ter change: the book will not lie flat and
will need controlling, usually with one of
the typing hands; and the glue holding the
pages together breaks down, eventually
leaving you with a mess of loose pages.
Because COMAL is not stagnant, the
Handbook had to go through extensive
revision as well. Except for a mention in
the introduction, all references to earlier
releases of COMAL have been removed.
Only the CBM 0.14 and 2.00 versions are
covered. This simplifies the text
immensely.
The introduction explains some of the
history of COMAL, the standardized Ker-
nal, and version differences. It also goes
into details about using the standardized
format of the text, special notes for
greenscreen CBM machines, and a brief
'getting started' section, among others.
You must read the introduction first to
understand some features of the
language and the book.
The main body of the Handbook is
dedicated to the description of over 140
keywords arranged alphabetically. Each
word has its own page(s) devoted to ex-
plaining its use. An improvement here is
that each side of the page header has the
keyword in bold print for easier page flip-
ping. Next, the category (command,
statement, function, operator, and so on)
is specified. Some kej^vords have more
than one category, and each is described
separately. If the word is part of the Ker-
nal a [YES] is given, if not, a [NO]. This
is handy for those who wish to write pro-
grams for other computers. How fully the
keyword is implemented, if at all, is in-
dicated in simple code form for both CBM
versions. This is useful for those with the
cartridge who wish to write programs for
the owners of only the disk version, and
vice versa. A clear, concise description of
the rules for the keyword's use follows,
along with notes usually naming limita-
tions or restrictions.
Next are four very useful parts. The
syntax is described in precise detail giv-
ing all parameters! If you want to take
full advantage of COMAL's power, this
is a necessary list. Next, to make things
clear, there are one-line examples of the
keyword in context. The variations are
useful and informative. A sample pro-
gram further clarifies the use of the
keyword in context. To show the results
of the program, output from a run is in-
cluded. This is where one of the dif-
ferences from the original edition is made
apparent. The first edition had typeset
syntax, program listings and sample
runs. These were clear and easy to read.
In the revision, narrow dot-matrix print
has been used, reducing legibility.
The importance of the book lies in its
design and usability. You can find what
you want, when you need it. If you make
a mistake, you can find out why your idea
was not allowed. No extra words get in
the way of what needs to be explained.
Len writes the way manual authors
should. Like COMAL itself, the second
edition of the COMAL Handbook is
exemplary. D
Traitex 64
from Logiciel
Vision Software
French language
word processing program
for Connmodore 64
and disk drive
Review by Gerry Gold
Traitex 64 International ($1^9.00 with
Dictex. $99.00 uiithoulDictex. $29.00 for
the English language dictionary. Logiciel
Visio^i Sofiiva7-e, 218 Alexandre, Sher-
,brooke, PQ, JlH iS7, Canada.
In Quebec, Jacques Lebrun's adaptation
of Professional Software's WordPro and
the Traitex program are synonymous
with professional microcomputer word
processing. For this reason alone it is a
joy to recommend this program, which
combines WordPro commands with the
Fleet System 2 program. Unlike other
word processors, which may write in
French but communicate only in English,
Traitex accepts its instructions enfran-
fats. If you need WordPro or PaperCIip
command compatibility, then RUN/STOP
CTRL Y enables standard English com-
mands in your document.
Traitex has lots of strong features. For
instance, it is available with a 200,000
word (no, that's not a misprint) French
dictionary to which 40,000 more words
(correct again) can be added in a user dic-
tionary. Moreover, almost 300 blocks
40 TPUG Magazine
Revlewsj
remain on the protected dictionary disk.
As if that were not enough, the full
Traitex can also be purchased with Fleet
System 2's 70,000 word English dic-
tionary. The French dictionary loads at
5,000 words per minute (from a 1541!)
and offers dynamic spell-checking and
other features from within the program.
Convenient WordPro featui-es, such as
extra text, form letters, file merging and
on-screen calculations, are all part of
Traitex, which also offers many unique
features. The Traitex keyboard on the 64
is convenient, and maintains a high
degi-ee of compatibility with versions that
run on Commodore PET computers.
Printer options, screen colours, device
numbers and printer interfaces are all set
up in a convenient install file that offers
a wide array of printer choices. It is im-
possible, how'ever, to change these
features while the program is operating.
Cursor movement and on-screen com-
mands are rapid. As witli many of its
rivals, Traitex supports printing to the
screen in either 40 or 80 columns. At star-
tup, users can choose an 80 column or 120
column screen that scrolls sideways as
text is entered. Personally, I would rather
write and edit in 40 columns, as it is
easier to catch errors when you see the
entire text. Switch to 80 columns when
the text is written and edited.
Another minor proljlom is that Traitex
retains some of the weaknesses of Word-
Pro. A directory, for example, can only
be called by erasing the file in memory.
A carriage return erases everj,1;hing to
the right of the cursor. There is no on-
line help command. Also, Traitex, like
earlier versions of WordPro, and like
PaperClip, does not offer word-wrap
(words wrap around the screen). Another
missing feature is the column manipula-
tion and sorting ability of PaperClip.
WordPro-compatible commands are a
plus, but do be careful. CLR will invoke
the command Memorise, Endisque. Inter-
cole . In this program Memorise invokes
recall, not memorize. Failure to observe
that difference could be disastrous. Also,
Traitex creates a USR file that is incom-
patible with standard w^ord processing
files used by outfits such as TPUG
Magazine. I wrote this document with
Traitex; printed it to disk as a sequen-
tial file; read it into PaperClip and then
edited the quotes and line feeds!
This is, however, the first fast and full-
featured French language word pro-
cessor that I have used. Since this may
be what you need or what you have
already purchased , do not forget to send
your registration card to Vision Soft-
ware, who support w^hat they sell. D
Adventure
Construction Set
from Electronic Arts
Graphics adventure
construction set
for Commodore 64,
1541 disk drive and joystick
Review by Marya Miller
There are two words I never want to see
on my computer screen again — Access-
ing Disk.
Unfortunately, if you use Adventure
Construction Set, you will see them a lot.
You will spend long, wearisome minutes
— hours, even — waiting for your com-
puter to stop Accessing Disk. Most of the
time, too, you can't go off and do some-
thing else while all this accessing is go-
ing on, because you have to be there to
do frequent disk swaps. Tlie only time you
can leave the computer at it is when your
adventure is finally being constructed.
Then the screen tells you: "The adven-
ture will be ready in about 37 minutes"
or so.
Before you get to this blessed stage,
however, you will have sat through so
many disk swaps and accesses that your
thoughts are vaguely occupied with
penance, suffering and vegetation. There
are lots of disk swaps and accesses merely
to load the sample adventures.
The sample games are nicely
presented, and Rivers Of Light and
Deep Dank Dungeons in particular are
fun to play; but when it comes to a
'tutorial', the manual has one on how to
play these sample adventures, rather
than on how to construct one yourself.
Oh, it is full of information pertaining to
constructing a game, but it doesn't start
at A and end up at Z. It kind of flings you
into a maelstrom of enthusiastic facts and
leaves you to flounder your way out
again.
After many hours and many odd things
happening, I did manage to create a
reasonable adventure game, but the pro-
cess is rather like Russian roulette, if you
let the ACS disk have anything to do with
it. You end up with regions, characters,
objects and pitfalls that you didn't expect
to see in your game. WTiich can be rather
fun, mind you; though bewildering to
simple souls like me.
If you do everj'thing yourself, the crea-
tion part is even more fun but, if you're
anything like me, it won't work properly
and you'll end up biting your table leg and
whimpering (after all those gruelling
hours of labour).
The packaging is lovely, and the illus-
trations in the manual are pleasing. The
disk label gives the command line for
loading the program — a minor point, but
helpful, vvhen you have the instructions
for forty -odd different disks rolling about
your mind. The graphics are okay —
though the characters are a bit small and
hard to see — and the available music and
sound effects are excellent, but put it this
way: I'll let you know how Adventure
Construction Set and I are getting on in
about six months or so.
Fun, if you can stand the length of time
everything takes and the user inactivity,
but definitely not for neophytes. D
Adventure Writer
from CodeWriter
Text adventure
construction program
for the Commodore 64
Review by Marya Miller
Unlike Adventure Construction Set,
Adventure Writer actually claims on the
front page of its manual: "Your own pro-
gram — the first time you try!"
Bah! Phooey! Humbug! It's table-leg-
biting time again.
There is a sample adventure for you to
play and one to construct. This latter
comes in place of 'Steps from A to Z'. The
idea, I think, is that by constructing the
adventure along with the book, you learn
to do it by ex-perience. An excellent idea,
and one of the best ways I know of learn-
ing but — alas! — it bombs out, here.
I dutifully did the sample game con-
struction; got foggj' about the status table
and vocabulary action table, and did it
again. Aha! Excellent! Understood it
perfectly. Then I mapped out a five-
location game of my own, very carefully,
and tried that. I got hopelessly mixed up
on the status and vocabulary action
tables. Several hours later, I finally got
things straight, but I certainly wouldn't
have done so if I hadn't already had some
experience in writing adventure games in
BASIC.
I liked Adventure Writer better than
Adventure Construction Set because,
for one thing, there were no endless
hours of disk swapping. There is more
user participation here, too.
This construction set is handy if you
want to save a lot of time on standard
programming sections, but I found that
BASIC was still my best bet, if I wanted
to do anything very imaginative.
Not only that, but BASIC was also a
heck of a lot quicker! □
June 1985 41
Reviews:
Zork and
Enchanter
from Infocom
Text adventure games
for the C-64
Review by Michael Bonnycastle
If you've only got twenty minutes or so
to play one of these games, don't. These
programs are an experience, and if you
get involved with them, you'll be up till
all hours of the night. To truly figure
them out will take sixteen to forty hours
or more of elapsed time. Fortunately, you
can save a game part way through, and
return to it later. You'll need to do this
several times, in order to progress
through an entire episode. Sometimes,
they can be extremely frustrating, and
you'll think you're stuck, ho you save the
game and go to bed. At 4 am you'll wake
up and think, "I haven't tried tkis. . . or
maybe that approach will work. . ." —
and sure enough, you're off and running
again,
WTien it works, it's a terribly rewarding
experience, and even more so if you can
work out the problems yourself. Some-
times, however, a simple hint from a
friend who's been there will get you going
again, when you've been stuck for several
days; or you may return to a section that
you haven't visited for a while and —
because you've solved a problem some-
where else, or you've read a page from
a book at the other end of the game —
the solution to this section suddenly
comes to mind like a stroke of genius.
These games are a fascinating experi-
ence, and must be tried to be beheved.
\Vritten by Infoeom's principal authors
who were involved in writing the original
Adventure (see Jim Butterfield's article
elsewhere in this issue), these programs
are much more sophisticated, clever and
involved than Adventure. (The original
Adventure is on TPUG library disks
(C)M,5 for the C-64, and {0)G7 for the
PET.) Adventure allows j'ou to move in
various directions, pick up objects and
throw axes at nasty dwarfs. Zork allows
you to interact with a pirate, and En-
chanter has you teaming up with a not
always cooperative adventurer from
another game. In Enchanter, your suc-
cess depends not on acquiring treasure,
but on your ability to find and use spells
to defeat the evil wizard, Krill. In fact,
to succeed at Enchanter, you must use
your understanding of avarice in the
adventurer.
42 TPUG Magazine
FHirely and simply, these games are
puzzles. You must figure out how to suc-
ceed, using the tools available to you.
With Zork, you may get things, drop
things, attack nasties with a sword or
knife, turn knobs, use wrenches and
screwdrivers, and there is even an in-
flatable raft that you can blow up with a
hand pump. You can get only so far using
simple commands, but to advance to the
end you must figure out how to open the
floodgates on the dam and drain the
reservoir, as well as performing other
complicated, interrelated tasks with a
series of tools. The sequence of events
surrounding obtaining the diamond is as
bizarre a set of moves as I have ever seen,
yet they all make sense.
In Enchanter, the spells you need in
order to win ai-e found on scrolls and can
be 'learned' when you need them, but
once you cast them, they are lost from
memory. Some spells can be written into
your spell book first (using the GNUSTO
spell) — these you can use several times.
Other spells are too complicated for you
to GNUSTO, and so can only be cast once.
There are several treasures in this
episode (such as an incredibly orn-
amented and bejewelled egg), but they
have other, more important uses than
that of mere treasure. You must figure
out how best to use them. iVIy favourite
portion involves a series of passages
vrithin the depths of the castie, a map and
a magic pencil. When you draw on the
map with the pencil, a passage appears;
by erasing a line on the map, the cor-
responding passage will vanish. This is
very useful in avoiding a particularly
nasty monster.
Other games in the series that I have
not played yet include Zork II, Zork III
and Sorcerer. I am anticipating many
hours of enjoyment when I tackle them,
but I do not want to start them pre-
maturely. I will wait until I have lots of
time to devote to their particular type of
entertainment.
These games are not for the faint of
heart, and they require a lot of staying
power to get through. I don't recommend
them for youngsters, as they retiuire a
fair bit of sophistication to solve (although
my 12 year old enjoys wandering around
them without really being able to solve
the entire puzzle). Infoeom's games are
well worth the time and money you invest
in obtaining them and figuring them out.
Good luck! a
BAID64
A new utility and basic aid Jor your C64
60 new commands including many of tfie BASIC 4.0 disk commands.
Do graphics without peeks and pokes and having to remember all those memory
locations. Commands such as HLINE, DRAW, HPLOT, MOVE, TEXT and
HPRINT.
Sprites, sound and screen commands get rid of the tediously long command
lines. Just type in the note (E#, Gb, F, etc) or state the colour (COLOR 1 ,2,3.) or
locate a sprite (SPRITE [num[x,y]).
Function keys are allowed - there is a built in screen dump (text or graphics) ~
type lines 120 characters long.
15 additional BASIC commands including RENUM, TRAP,
AUTO, HUNT, HELP, DEL, CHANGE
ALL THIS AND MORE AT A PRICE OF $49.95 (Ont. residents add 7% sales tax)
PHONE (416) - 677-8200 AND WE WILL ACCEPT YOUR M/C OR VISA OR
SEND THE COUPON. WE SHIP PREPAID
ANYWHERE IN CANADA WITHIN 24 HOURS.
NAME
STREET
CITY
PROV.
M/C
_P.C.
VISA
NUMBER
SIGNATURE.
C.P.U.ELECTRONIC SYSTEMS CORP.
2652 SLOUGH ST.,
MISSISSAUGA, ONT, L4T3T2
TELEPHONE (41 6) - 677- 8200
special prices for schools and dealers
Products Received
The following products have been received
by TPUG Magazine in recent weeks.
While we do not have space to review them
in this issue, we would like to describe
them briefly in order to bring them to our
readers' attention. Please Jiote that tliese
descriptions are based on the manufac-
turers' own announcemeyits, and are 7iot
the result of evaluation by TPUG
Magazine.
Fantastic Filer
Fantastic Filer from SourceCode
Technologies, 424 East John Street,
Lindenhurst, NY 11757, distributed by
Micro-W Distributing Inc., P.O. Box 113,
Butler, NJ 07405. Price: S29.95 (US).
Fantastic Filer is an all-purpose data fil-
ing system for the Commodore 64 and
1541 disk drive. It allows the user to
create an average of 1000 records per
disk, each record containing up to 256
characters, vAth a maximum of 50 fields.
Records can be edited, updated or
deleted. The user can search for records
by record number, index match or by
specific search criteria.
A five function calculation routine is
built into Fantastic Filer, and the pro-
gram will automatically perform the
calculations between fields specified by
the user when creating the original layout
of a record.
This new version of Fantastic Filer in-
cludes another program called Fantastic
Forms, which enables the user to
generate columnar reports and prepare
mailing labels.
VizaStar
VizaStar from Viza Software, Brompton,
Kent, UK. Distributed in Canada by The
Soft Warehouse, P.O. Box 1983, Win-
nipeg MB, Canada R3C 3R3 by direct
mail only, and in the US by Solid State
Software, 1125 E. Hillsdale Blvd. Suite
104, Foster City, CA 94404. Price:
3189.95 (Cdn.); special introductory offer
to TPUG readers S179.95 (Cdn.). US
price: $119.97.
VizaStar is an integrated Spreadsheet,
Database and Business Graphics program
designed to " . . . bring Lotus 1-2-3 power
to the Commodore 64". Created by the
UK's Kelvin Lacy, VizaStar has sold well
in Europe since July 1984, and is now
released in North America.
A user-friendly menu system makes
VizaStar easy to use. The 64,000 cell
spreadsheet permits the opening of up to
9 simultaneous 'wdndows', to overlay dis-
tant sections of the spreadsheet onto the
working screen. Access between the
Spreadsheet, Database and Graphics pro-
grams is immediate, and data can easily
be moved between these integrated func-
tions. A powerful execution facility allows
the user to 'program' any routines neces-
sary to automate their specific application
for VizaStar. Data storage and retrieval
on disk is provided, with immediate inter-
rupts and directory searches possible at
any time.
VizaStar is written in 100 per cent
machine language. It is totally resident
in memory during use, and is compatible
with many printers and interfaces. Direct
output of printer control commands gives
■iEim Sheet File P.rint.....l!a.t.»..,..6,r»Eh..
Fo)^^JaU^"Prm^
Display, tong
VizaStar screen with several windows.
even greater flexibility. Import/Export
routines also make it possible for Viza-
Star to exchange information with
Easyscript, WordPro, PaperClip, HES
Omniwriter and many other programs.
C-64 Encyclopedia
The Co7nmodore 6Jf User's Encyclopedia
from The Book Company, 11223 S.
Hindry Avenue, Los Angeles, CA 90045.
Price: $14.95 (US).
The Book Company has published a whole
series of encyclopedias for different com-
puters, including this one for the Com-
modore 64. According to the authors, the
Encyclopedia "... does not offer detailed
coverage of the internal electronic details
of the C-64. It does, however, provide a
complete reference on BASIC program-
ming, general operation of the computer
and its accessories, and available prod-
ucts." The entries in the book cover the
following aspects of using the C-64, and
computing in general:
• Definitions of general microcomputer
terminology, concepts and abbreviations.
• Explanation of BASIC programming,
including BASIC statements and com-
mands as separate entries.
• Information on the internal structure
and operations of the Commodore 64.
• Brief descriptions of other programm-
ing languages: FORTRAN, COBOL,
Pascal, etc.
• Description of software packages and
hardware accessories.
C-64 Programs for the Home
Commodore 6i Programs for the Home by
Charles D. Sternberg, published by
Hayden Book Company Inc., 10 Mul-
holland Drive, Hasbrouck Heights, NJ
07604. Price: $15.95 (US).
This book is intended for two groups of
users: first-time buyers who don't want
to spend extra money on software, and
those who would like to learn BASIC pro-
gramming by typing, running and mod-
ifying program listings to suit their
needs.
There are forty BASIC program list-
ings in eight chapters. The programs
cover basic household needs in financial
planning, recording and retrieval of
payments, telephone numbers and main-
tenance costs, as well as in expense plan-
ning, and helping children with school-
work. To close the list, there are also util-
ity programs relating to outside activities
and recreation.
Each listing is preceded with a descrip-
tion of the program, instructions on how
to use it and how to ent-i. ^he data, notes
and things to check. Then follow the pro-
gram listing, sample data, a sample run
and a major symbol table. All programs
are designed to run using the datasette.
However, they can be easily modified by
those who own a disk drive, and wish to
store programs on diskettes. To help
readers modify the programs, as well as
improve them, the author has included
Appendix A — Language Features Used
and Appendix B — Converting Programs
for Floppy Disk Usage.
Presented by Astrid Kumas G
June 198S 43
TPUG Associate Clubs
CANADA
C64 North Bay Users Group (Ontario) meets at Cassellholms
on Olive St. on the first Wednesday of thie month at 7:30 pm.
Contact Matt Vaulour 705-474-5692,
Chaleur Commodore Club (New Brunswick) meets at the
District School Board. Dalhousie, on the third Wednesday of the
month at 7:00 pm. Contact Terry Traer 506-684-4852.
Commodore Owners of Muskoka (Ontario) meets at fvlacAulay
Public School, Bracebridge, on the first Wednesday of each
month at 7 pm. Contact Mike Wilson 705-645-6300,
Edmonton Commodore Users Group (Alberta) meets at Ar-
chbishop Jordan High School. Sherwood Park, on the last Fri-
day of each month at 7 pm. Contact Bob Kadylo 403-465-3523.
Fredericton Commodore Users Group (New Brunswick)
meets in Room 105, Administrative Building second floor, at Saint
Thomas University, on the third Wednesday of each month at
7:00 pm. Contact John W, Palmer. Comp 53, Site 1 5 Castle Acres
SS#3. Fredericton, NB, E3B 5W9,
Gueiphi Computer Club (Ontario) meets at Co-operators In-
surance Assoc, on the second Wednesday of each month at 7:30
pm. Contact Brian Grime 519-822-4992,
London Commodore Users Club (Ontario) meets at Althouse
College of Education, main auditorium on the third Monday of
each month at 7 pm. Contact Dennis Trankner 519-681-5059,
Niagara Commodore Users Group (Ontario) meets at Lakeport
Secondary School, St, Catharines, on the first Ivlonday of each
month at 7.30 pm. Contact Ian Kerry 416-688-6464.
Sarnia C64 Users Group (Ontario) meets at Lambton College
on the first Sunday of each month at 7:30 pm. Contact J.C.
Hollemans 519-542-4710,
Saskatoon Commodore Users Group (Saskatchewan) meets
in Room 2C02, Engineering Building, University of Saskat-
chewan, on the last Friday of each month (except June, July and
December) at 7:00 pm.
Commodore Users Club of Sudbury (Ontario) meets at Lasalle
High School in the cafeteria on the last Thursday of each month
at 7 pm. Contact Tim fvliner 705-566-9632,
PET Educators Group (Windsor, Ontario) meets at Faculty of
Education Building. 600 3rd Concession, Windsor, on the third
Wednesday of each month (not July and August) at 7 pm. Con-
tact John Moore 519-253-8658,
Winnipeg PET Users Group (IManitoba) meets at Gordon Bell
High School, Room 228, on the first Wednesday of each month
at 7:30 pm. Contact W,P.U,G.. P,0, Box 4096, Station B, Win-
nipeg, MB, R2W 5KB,
UNITED STATES
Boston Computer Society/Commodore Users Group meets
at Minute Man Tech High School, Rt 2A (just off Rt 1 28). in Lex-
ington, MA, every second Monday of the month at 7 pm, Con-
tact Harvey W, Gendreau 617-661-9227,
C-64 Users Group, Inc. (Chicago, Illinois): seven chapters meet
at 7:00 pm. Northwest Chicago (Logan Square) on the first
Tuesday; River Grove on the first Wednesday, Des Plaines on
the first Thursday: Park Ridge on the second Monday: Caiumet
Park on the second Tuesday; Westchester on the second
Thursday; Southwest Chicago (Garfield Ridge) on the second
Fhday: Evanston on the third Wednesday, For exact locations
and changes, contact Darrell Hancock 312-588-0334, or David
Tamkin 312-583-4629,
Commodore 64 Owners of Petaluma (California) meets in the
multi-use room. La Tercera School on the third Thursday of the
month at 7:00 pm. Contact Robert Hermann 707-762-1376,
Commodore Computer Club of Toledo (Ohio) meets at Bed-
ford Administration Building on Temperance Rd,, between Lewis
and Jackman Roads on the second Friday of each month at 7:30
pm. Contact Jim Cychler 419-475-9160,
Commodore Houston Users Group (Texas): Clear Lake
Chapter — Nassau Bay City Hall, NASA Road #1 . on the first
Wednesday of each month at 7 pm. Central Chapter — Far-
rish Hall, University of Houston main campus. NW Chapter —
Bleyl Jr, High School. 10.000 Mills Road (Cypress-Fairbanks SD).
on the third Thursday of each month at 7:30 pm. Klein Chapter
— Hildebrandt fvliddle School. 22.800 Hildebrandt Road (Kiem
ISD), on the third Tuesday of each month (except July & August)
at 6:30 pm. Contact Mary F, Howe 713-376-7000,
Commodore Users Society of Greenville (South Carolina)
meets at the Greenville National Bank, Community Room. 10
Pleasantbury Drive. Greenville. SC, on the last Thursday of each
month at 7.30 pm.
Genesee County Area Pet Users Group (IVIichigan) meets at
Bentley High School on Belsay Rd. on the third Thursday of each
month at 7 pm. Contact Gordon Hale 313-239-1366.
Greater Omaha Commodore 64 U.G. (Nebraska) meets at
South Omaha campus of the Metropolitan Technical Communi-
ty College, 27th and Streets in Room 1 20 of the Industrial Train-
ing Center, on the first Thursday of the month at 7 pm. Contact
Bob Quisenberry 402-292-2753.
IVIanasota Commodore Users Group (Florida) meets at the
Florida Power and Light Building, Bradenton, on the second and
fourth Thursdays of the month at 7 pm. Contact Robert O. Bron-
son 813.747-1785,
IMAT-SU Commodore-64 Club (Alaska) meets at the Alaska
Computer Systems store, Wasilla, on the third Thursday of each
month at 7 pm. Contact Terry Maw 907-376-7508.
Michigan's Commodore 64 Users Group meets at Warren
Woods High School in Warren, on the third Tuesday of each
month at 7 pm. Call 313-773-6302.
IMohawk Valley Commodore User's Group (New York) meets
at the Clara S. Bacon School in Amsterdam, at 7 pm on the se-
cond Tuesday of the month. Contact William A. Nowak
518-829-7576.
Mountain Computer Society (Sandy, Utah) meets at Murray
High School on the second Thursday and last Tuesday of each
month at 7:00 pm, Contact Dennis Senior 801 -566-5593, or Don
Jones 801.967-6641.
44 TPUG Magazine
TPUG Associate Clubs
Russellville CUG, Inc. (Arkansas) meets at Oakland Heights
Elementary School on the third Thursday of each month at 7:30
pm- Call 501-967-1822.
Sacramento Commodore Computer Club (California) meets
at Kit Carson High School, on the fourth Monday oi each month
at 7 pm. Contact Geoff Worstell 916-961-8699.
S.C.O.P.E. (Dallas, Texas) meets at U.T.D,, Erik Jonnson
Building (Corner Floyd & Campbell Rds.), in Piano, on the se-
cond Saturday of the month at 1:30 pm. Contact Betty Clay
817-274-0709.
Southern Minnesota Commodore Users Group meets at
Mankato State University on the first Thursday of each month
at 7:30 pm. Contact Dean Otto 507-625-6942.
Tri-City Commodore Computer Club meets at Washington
Public Power Supply System auditorium on George Washington
Way on the second Wednesday of the month at 7:00 pm. Con-
tact George Carpenter 216-946-7746.
Westmoreland Commodore User's Club (Penn.) meets at
Westmoreland County Community College, in Youngwood, on
the third Friday evening of each month. Contact Bob IvlcKiniey
412-863-3930.
INTERNATIONAL
Baden Computer Club (West Germany) meets at CFB Baden-
Soellingen on the second Sunday of each month at 7 pm. Con-
tact Ben Brash.
Trinidad Association of Commodore Owners — TACO meets
at St. fvlary's College, Frederick Street, Port of Spam, every sec-
ond Saturday of the month at 2 pm.
Classifieds
For Sale: PET 2001 with 4.0 ROM upgrade, 4040 drives
with 4.0 ROM addition, 2022 graphics printer. All cables,
excellent shape original set, $700.00. Dave Whitaker
615-478-4538 day, 615-476-6634 night.
For Sale: ln(o-Design Accounting Package, for 1 541 drive,
G./L, A/P and l/M, all with backups and manuals. SI 95.00.
416-655-4003-
Wanted: iVlodem for PET/CBM computer. Gene CSinger,
P.O. Box 491. San Clements, CA 92672. 714-498-6935.
Wanted: 2031/4040 drive, 4010, modem for 4032-N PET.
Used OK 80 column conversion wanted. Ideas'' Marc
McSwain.4513 Acushnet, Corpus Christi. TX 78413. USA.
For Sale: B128, 8050 drive, 4023 phnter (all with covers).
Also P13 USl Monitor, amber black, plus Precision Soft-
ware's Superscript and Superbase, Leo Grabowski
717-724-5210. Price: S795.00 (US) LOT,
CBM 8096, 8050, 8023P, Silicon Office, CalcResult,
manuals, more. Best offer. Call Ron 416-900-1994, days.
Wanted: Tape or cartridge home application and business
software for use on ViC 20. G.B. Swan, Box 127, Stewart,
BC, Canada, VOT 1W0 or phone 604-636-2378 evenings.
Plans: lor inexpensive build-it-yourself computer cabinet;
£4.50/set. Flexible, versatile design will hold C-64/ViC 20,
2 disk drives (1541), printer, monitors, and much more.
From A.W, Walters, RR#3, Nelson. BC, VI L 5P6.
For Sale: SuperPET or SuperPET board assembly that I will
install in an 8032. Offers. Mike Donegan 416-639-0329.
iH^Ena^'s
To satisfy the demand for our high quality disl< games
and cassettes, we 're introducing:
MASTERTRONIC'S
MAILORDERMANIA!
Loo/f at these spectacular prices now available through
our mail order department ... and it's so simple to order:
You select from our product list:
Arcade Action
Arcade Action
Space Walk
C6J D.5C
Cass
S9 99
Big Mac
C64 Disc
S9 99
BMXRace'
C64 Disc
Cass
S9 99
Ctiallenger
C64 Disc
S9 99
Chiller
C6J Disc
Cass
S9 99
SlaracE
C64 Disc
$9 99
Cily Fighler
C64 Disc/Cass
S9 99
Pigs in Space
CB4 Disc
$9 99
Duck Shoot
C6J Disc
Cass
59 99
CandiOate
C64 Disc
S9 99
Oibilron
CS4 Disc
Cass
S9 9g
MinoCoritrol
C64 Disc
S9 99
Squirm
C84 Disc
Cass
S9 99
Dark Star
C64 Disc
S9 99
Kikst^n
C64DISC
S9 99
Magic Carpet
064 Disc
$9 99
Wuncfifnana
C64 Cass
S9 99
1985
C64 Disc
S9 99
Bionic Granny
Ce4Cass
S9 99
Vegas Jackpot
C64 Disc
S9 99
3DMnze
VicX
$7 99
Vegas Jackpot
Vic 20
S?99
DuckSHool
Vic 20
$7 99
Doodle Bag
Vic 20
$7 99
New York Bill;
Vic 20
S7 99
R 1 P
Vic 20
$7 99
Bullel
Vic SO
S7 99
Sub Hunt
Vic 20
$7 99
Undermine
Vic 20
$7 99
Phantom Attack
Vic 20
S7 99
Neulron Zapper
Vic 20
S7 99
Psycho Stiopper
Vic 20
57 99
Rockman
Vic 20
S7 9S
Adventure
064 Disc
S1299
Adventure
Quest for ine
Se-Kaa of
C64 Disc
$1299
HolyGrajl
Ass.a
Cass
Educallonat
Educational
Make Music
C64 Disc
Count with
C64 Disc
St299
S12 99
Oliver
with Mislertronic
Look Sharp
C64 Disc
$12 99
Quick Thinking
C64 Disc
S1299
Ulllllles
Ulilities
Gam(?sCreator C64Disc^Cass St999 Games Designer Vic20 S1299
Order 2 or more, and receive a free 19x25 l\AastertrQnic
Poster/Calendar!
You mail your order to:
Pearl Direct Marketing Corp.
60 Bullock Drive,
Markham, Ontario L3P 3P2
Plus S2.00 postage & handling
Visa & Mastercard accepted
(Ontario residents add 7% retail sales lax)
You receive your exciting Mastertronic software by
prompt return mail, plus a free catalogue of all
our products.
For further information call us at (41 6) 471-5858
June 1985 45
s?»
\^''}J^B>^'''
03-
AtCURAIf
MICRO ADJUSIMEWl
USt5 SCBttN DISPLAY
NO SPECIAL ItSl EQUIPMENT
DIPtCIlON OF
STEPPER MQIOR
MOVEMENT
CHECKS MECHANICAL
STOP POSITION
SCREEN READ
RADlAl HEAD
CHECKS SPEED H CLAMPING
OF DRIVE
Package includes
• True digital alignmen
• Quiet Drive stops to
continued realignrne
(703) 491-6502
800-762-5545
CARDINAL SOFTWARE
See reviews in- HUN, Jan. TSBS.
p. T22: Midnighl Gajelie e2T_
jl9B4. p, 49: Ahoy' April 19BS. p. 32
t disk with offset tracks
reduce need for
nt on old style drives.
C9
13646 JEFFERSON DAVIS HWY
VUOODBRIDGE VA 22191
In Canada APPIN MICRO
1?B3 PHARMACY AVE
SCAFIBOROUGH ONT MIR 2J I
11161 Ja30a43 J
TPUG Magazine
Distributors
Dealers: If ymt iv-tndd like to carry TPUG Mapaxint' in
ijiiHT sfnre, tfOH may order Jrom ani/ one <:f lln- fniluiviruj
distritiutorii:
CANADA
Micron Distributors, Toronto, ON 800-268-1238
Compulit Distributors, Port Goquitlain, BC 604-464-1221
USA
Prairie News, Chicago, IL 312-384-5350
Levity l.)irit.ril)iitors. North Hollywood, CA 838-506-7958
Whole Life Distributors, Euglewood, CO 303-761-2435
M-6 Distribution, Houston, TX 713-778-3002
The Homing Pigeon, Elgin, TX 512-276-7962
Northeast News Distributors, Kingston, NY 91 4-382-2000
Fred Bay News Co., Portland, OR 503-228-0251
Alonso Book = Poriodical, Alexandria, VA 703-765-1211
Cornucopia DistrilimLui. Seattle, WA 206-323-6247
Guild News, Atlanta, GA 404-252-4166
Micro- PACE. Champai-gji. IL 800-362-9653
TPUG has implemented the popular 6809 operating system
'OS/9' on the SuperPET. Super-OS/9 greatly expands
software availability and the hardware capabilities oi this
computer while at the same time preserving access to the
Waterloo languages and programs.
The cost of Super-OS/9 to club members will be $195
(Cdn.), which will include the cost of a hardware
modification that will not affect the normal operation of the
SuperPET. Two board SuperPETs require a simple
hardware modification — we provide instructions. To obtain
your copy please send SI 95 (Cdn.) to: TPUG {1912A
Avenue Rd., Suite 1, Toronto, Ont., fv15M 4A1, Canada).
What does Super-OS/9 offer?
• A true operating system with UNIX features and the
simplicity and command style of Commodore BASIC:
• Multi-tasking and multi-user environment;
• Multi-level directories similar to those available in MS DOS
2.O.:
• Time and date stamp for all directory entries (files):
• File access privileges may be restricted by the owner of
a file.
Extensive software is available for OS/9, most of which will
run on the SuperPET.
OS/9 IS HERE
The Super-OS/9 package includes an assembler, editor,
command (shell) library monitor, symbolic debugger and
25K RAM Disk.
Available Languages (compilers) Include BASIC-09, Pascal,
CIS-COBOL, 'C Language, and others.
Available Applications Programs: Word processors,
business, inventory and accounting applications.
Public Domain: Software, relational database and
spreadsheets, extensive public domain software and
documentation,
TPUG will acquire public domain software and assist users
in the conversion of commercial software to Commodore
format.
Portability and Expandability
• Super-OS/9 programs will run on all OS/9-based
microcomputers.
• Super-OS/9 will run hard disks and parallel drives,
• There will be source code compatibility to versions of
OS/9 that are planned for the Motorola 68000.
For information call TPUG Inc. (416)782-8900
(416)782-9252
For technical information
Gerry Gold (416) 667-3159/225-8760
C64
PROVINCIAL
PAYROLL
A complete Canadian Payroll System for Small
Business.
• 50 Employees per disk (1541) •
Calculate and Print Journals • Print
Cheques • Calculate submissions
summary for Revenue Canada •
Accumulates data and prints T-4s • Also
available for 4032 and 8032 Commodore
Computers.
Available from your Commodore Dealer.
Distributed by^
»
ICROCOMPUTER
SOLUTIONS
1262DONM1LLSRD. STE. 4
DON MILLS. ONTARIO M3B 2W7
TEL: {416( 447-4811
Ask Someone Who Knows
If you enjoy Jim Strasma's many books, and his
articles in this and other magazines, you'll be glad
he also edits his own highly-acclaimed computer
magazine, now in its sixth year of continuous
publication. Written just for owners of Com-
modore's many computers, each IVIidnite Software
Gazette contains hundreds of brief, honest
reviews.
Midnite also features timely Commodore
news, hints and articles, all organized for instant
reference, and never a wasted word. Whether you
are just beginning or a long-time hobbyist, each
issue will help you and your computer to work
together effectively.
A six issue annual subscription is $23. To
subscribe, or request a sample issue, just write:
MIDNITE SOFTWARE GAZETTE
P.O. Box 1747
Champaign, IL 61820
You'll be glad you did!
0Sl9 Software NOW AVAILABLE!
I
Spreadsheet - DynaCatc US$93 Can$129
A third generation spreadsheet. Powerful and easy to
use.
Word Processor - Stylograph II
US$149 Can$189
Menu driven, fast. Extensive features.
Formats to screen as you work.
Mailmerge - a self-standing program that merges
files and creates form letters.
Spellcheck - a high-speed 40,000 word plus dic-
tioary, works with Stylograph or any other word
processor.
C Compiler US$120** CanS166**
Full featured, faithful to Keren and Richie standard.
The language of the future.
BASIC 09 US$110 Can$152
A full featured, sophisticated semi-compiled BASIC.
See BYTE magazine, April 1984.
Pascal US$175 Can$242
A full featured standard Pascal Compiler,
Fortran (Avail. Aug. '85) US$120** Can$166**
A full featured standard Fortran compiler.
SORED US$75 Can$104
A full screen editor with full cut-and-paste.
DATABASE - COMING SOON
These prices represent substantial reductions from
usual 0S9 software prices.
**10 copy bulk prices.
Please add $10 for shipping/handling. All prices subject to change. Ontario residents add 7% PST.
Please order direct, enclosing cheque or money order to:
TPUG, 1912A Avenue Rd., Suite #1, Toronto, Ontario M5M 4A1
od^e^tesrr .™!
to
Academy Software
21
AHOY Magazine
BC
Cardinal Software
46
Comal Users Group, tJSA
21
Computer Rentals
34
Comspec Communications Inc.
7
C.P.U. Electronic Systems Corp,
?5,42
Cricket Distribution Co,
21
Electronics 2001 Ltd.
IPC
M.A.R.C.A.
3
Mastertronic
45
Microcomputer Solutions
47
Midnite Software Gazette
47
Progressive Peripherals & Software
5
Programmers Guild Products
33
S & V Associates
20
Soft Waretiouse (The)
27
Toronto Computes!
25
TPUG {Comal Reference Guide)
33
TPUG (Disk Subscription)
IBC
TPUG {OS/9)
46
TPUG {OS/9 Software)
47
Traico Educational Software
34
Transactor (The)
25
Ufland Software
24
Wycor Business Systems
33
TPUG Con
TPUG OFFICE 416/782-9252,
tacts
416/782-8900
TPUG BBS 416/782-9534
Board of Directors
President
Michael Bonnycas
tie 416/654-2381
Vice-President
Chris Bennett
416/782-9252
Treasurer
Carol Shevlin
c/o4 16/782-8900
Recording Sec.
John Shepherd
416/244-1487
Rosemary Beasiey c/o416/782-8900 |
Gord Campbell
416/492-9518
Gary Croft
416/727-8795
Mike Donegan
416/639-0329
Bill Outfield
416/224-0642
John Easton
416/251.1511
Carl Epstein
416/492-0222
Keith Falkner
416/481-0678
Gerry Gold
416/225-8760
Rob Lockwood
416/483-2013
Louise Redgers
416/447-4811
General Manager
Louise Redgers
416/782-8900
Library Co-ord.
David Bradley
c/o4 16/782-8900
or the TPUG BBS 416/782-9534 ]
or CompuServe
ID^ 70216,414
TPUG Magazine
Publisher
Louise Redgers
416/782-1861
Editor
Nick Sullivan
416/782-1861
Assistant Editor
Marya Miller
416/782-1861
Ad Director
Louise Redgers
416/782-1861
Meeting Co-ordinators
Brampton Chapter
Garry Ledez
c/o4 16/782-8900
Central Chapter
Michael Bonnycastle 416/654-2381 |
C-64 Chapter
Louise Redgers
416/447-4811
COMAL Chapter
Donald Dalley
416/742-3790
Victor Gough
416/677-8840
Communications
Richard Bradley
c/o41 6/782-8900
Eastside Chapter
Judith Wiilans
c/o41 6/782-8900
Darren P'uller
C/O416/782-8900
Hardware Chapter
c/o4 16/782-8900
Machine Language
Garry Ledez
c/o4 16/782-8900
SuperPET Chaptei
• Gerry Gold
416/225-8760
VIC 20 Chapter
Riek'Adlard
416/486-7835
Anne Gudz
c/o41 6/782-8900
Westside Chapter
John Easton
416/251-1511
Al Farquharson
519/442-7000
Librarians
COMAL
Victor Gough
416/677-8840
Commodore 64
David Bradley
C/O416/782-8900
Richard Bradley
c/o416/782-8900
French
Baudouin St-Cyr
c/o41 6/782-8900
PET
Mike Donegan
416/639-0329
SuperPET
Bill Outfield
416/224-0642
VIC 20
Daryl King
C/O416/782-8900
Walter Holowatenko 416/782-8900 |
BBS Sysop (voice)
Richard Bradley
c/o416/782-8900
Assistant Sysop
Sandi Paquette
c/o4 16/782-8900
TPUG
LIDRARY DISKS
10 months of the
latest, fabulous
public domain
software
ONLY
$79.95
/ ///
JS
T FLU Ulr-.i!. 1j:i^
in
tc'oiic Onlario. CanMi u^U «ai |
1I1E1 7n7-SZ&3
VO'
*
A
CAN
.i.
SAVE 20%
or more by
using this
offer
Subscribe now to start receiving the
TPUG disk of the month in September
*US orders US$59.95
Name.
Membership #,
Address .
D Cheque D Money Order D VISA D MASTERCARD Amounts Currency D Can. D US
Credit Card # Expiry date Signature
Type of disk: D C-64
nVIC20
DPET
DSuperPET(IOdiskset)
xmMllTw # Commodore Magazine
k
>^>v
MOST
CURRENT
AND
COMPLETE
NEWSl
DETAILED
HARDWARE
ARTICLES!
THE MOST
COLOR
GRAPHICS!
PROGRAMS,
PROGRAMS,
PROGRAMS!
CLEARER,
MORE
COMPREHENSIVE
TUTORIALS!
THE MOST
PRODUCT
REVIEWS
f^
»LUS:
Creating Your Own Games on the VIC and 64
-an indispensable guide to the theory and technique of
game design.
Commodares— programming challenges to toggle the bits in your own
random access memory.
Ship to Shore— the latest on the telecommunications front.
SOS— your programming maydays answered.
U.S.A.
□ 1 year Ahoy! subscription (12 issues).... $19.95
□ 2 year Ahoy! subscription (24 issues) $37.95
□ My payment (in U.S. dollars) is enclosed.
□ Bill me.
Make check or money order payable to Ion International.
Send coupon or facsimile to: Ahoy! T-PUG 3
Ion International Inc., 45 West 34th St., Suite 407, New York, NY 10001
NAME
ADDRESS
CITY
CANADA & ELSEWHERE
$26.95
$49.95
Please check:
] Disk
B Cassette
_STATE_
.ZIP.